We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now

x

Please enter a computer name (running batch file from hta)

Simon336697
Simon336697 asked
on
Medium Priority
862 Views
Last Modified: 2012-08-14
Hi guys,
I currently have the following batch file that works great.

Usage is:
script.bat [computer_name]

========================================= script.bat
@echo off

if [%1]==[] (
echo useage: script [computer_name]
echo         Please enter a computer name before running.
goto :eof
)

echo Checking the following 4 services on a machine %1 .....
 
rem check_services.bat <computername>
for /f "tokens=1-6 delims=[.] " %%a in ('ping %1 -n 1 ^| find "["') do set ip=%%c.%%d.%%e.%%f
ping -n 1 %1 >nul 2>&1
if %errorlevel%==0 (
   echo %1 [%ip%]: Up
) else (
   echo %1 [%ip%]: Down
)
echo sc \\%ip% query alerter
sc \\%ip% query alerter
sc \\%ip% query browser
sc \\%ip% query server

rem ============================ end of file

What id like to do is run the same thing but just in a hta window.

=============================================== script.hta

Please enter a computer name __________________  <Go>

Output seen in the hta as if running it from command line.

===================================== end of hta

Any help greatly appreciated.
========================================= script.bat
@echo off
 
if [%1]==[] (
echo useage: script [computer_name]
echo         Please enter a computer name before running.
goto :eof
)
 
echo Checking the following 4 services on a machine %1 .....
 
rem check_services.bat <computername>
for /f "tokens=1-6 delims=[.] " %%a in ('ping %1 -n 1 ^| find "["') do set ip=%%c.%%d.%%e.%%f
ping -n 1 %1 >nul 2>&1
if %errorlevel%==0 (
   echo %1 [%ip%]: Up
) else (
   echo %1 [%ip%]: Down
)
echo sc \\%ip% query alerter
sc \\%ip% query alerter
sc \\%ip% query browser
sc \\%ip% query server
 
rem ============================ end of file

Open in new window

Comment
Watch Question

Using: http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/Q_20709676.html

Have script.bat in the same location as the hta.

<html>
<head>
<HTA:APPLICATION ID="oHTA"
      VERSION="1.0"
     APPLICATIONNAME="BatchFile"
     BORDER="thin"
     BORDERSTYLE="normal"
     CAPTION="yes"
     CONTEXTMENU="no"
     ICON=""
     INNERBORDER="yes"
     MAXIMIZEBUTTON=no"
     MINIMIZEBUTTON="no"
     NAVIGABLE="yes"
     SCROLL="no"
     SCROLLFLAT="yes"
     SELECTION="yes"
     SHOWINTASKBAR="yes"
     SINGLEINSTANCE="yes"
     SYSMENU="yes"
     WINDOWSTATE="normal"
/>
 
<script language="VBScript">
 
Dim objShell
Const ForReading = 1
 
Sub Run(Name)
	Set objShell = CreateObject("WScript.Shell")
	Return = objShell.Run(Name, 1, true)
	Set objFSO = CreateObject("Scripting.FileSystemObject")
	Set objInput = objFSO.OpenTextFile("out.txt", ForReading)
	DataArea.InnerHTML = "<pre>" & objInput.ReadAll & "</pre>"
	objInput.Close
	objFSO.DeleteFile "out.txt"
End Sub
 
</script>
 
</head>
<body>
 
<a href="javascript:Run('script.bat > out.txt');">Hello</a><br>
<span id="DataArea"></span>
 
</body>
</html>

Open in new window

Wait, I missed a bit, give me a min.
Apologies for the double posting

<html>
<head>
<HTA:APPLICATION ID="oHTA"
      VERSION="1.0"
     APPLICATIONNAME="BatchFile"
     BORDER="thin"
     BORDERSTYLE="normal"
     CAPTION="yes"
     CONTEXTMENU="no"
     ICON=""
     INNERBORDER="yes"
     MAXIMIZEBUTTON=no"
     MINIMIZEBUTTON="no"
     NAVIGABLE="yes"
     SCROLL="no"
     SCROLLFLAT="yes"
     SELECTION="yes"
     SHOWINTASKBAR="yes"
     SINGLEINSTANCE="yes"
     SYSMENU="yes"
     WINDOWSTATE="normal"
/>
 
<script language="VBScript">
 
Dim objShell
Const ForReading = 1
 
Sub Run
	Name = "script.bat " & comp.value & " > out.txt"
	Set objShell = CreateObject("WScript.Shell")
	Return = objShell.Run(Name, 1, true)
	Set objFSO = CreateObject("Scripting.FileSystemObject")
	Set objInput = objFSO.OpenTextFile("out.txt", ForReading)
	DataArea.InnerHTML = DataArea.InnerHTML & "<pre>" & objInput.ReadAll & "</pre><br>"
	objInput.Close
	objFSO.DeleteFile "out.txt"
End Sub
 
</script>
 
</head>
<body>
 
Please enter a computer name <input type="text" name="comp">
<input type="button" Value="Go" onClick="Run"><br>
<span id="DataArea"></span>
 
</body>
</html>

Open in new window

Actually you might wanna change the SCROLL="no" to a yes. I set it up so you can run it multiple times and it appends to the last command.

Author

Commented:
Hi astro,
Youre a gun.
astro....last one.

Is there any way to add:
1) The abilty to refresh the hta? At the moment, you cant it seems.
2) The ability to hide the command window when you click on the Go button.

Really appreciate your help.
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION

Author

Commented:
Thanks so much astro!
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.