rgarimella
asked on
Wscript.Shell
Hi
I was trying to run a WScript.Shell command on the server so that i can zip the files in a folder. But to test it out i was trying to just do a simple command
<%
set wshell = server.createobject("wscri pt.shell")
intReturn = wshell.run ("cmd.exe dir *.* > c:\test.txt")
Response.Write(intReturn) ' This returns 0
set wshell = nothing
%>
I have set the permissions of the web folder to Read/Write and also Script Access/Executables
RG
I was trying to run a WScript.Shell command on the server so that i can zip the files in a folder. But to test it out i was trying to just do a simple command
<%
set wshell = server.createobject("wscri
intReturn = wshell.run ("cmd.exe dir *.* > c:\test.txt")
Response.Write(intReturn) ' This returns 0
set wshell = nothing
%>
I have set the permissions of the web folder to Read/Write and also Script Access/Executables
RG
ASKER
Dex,
Your code is giving me the following error
Object doesn't support this property or method: 'exec'
Also in my code i dont see the test.txt file physically.
IUSR also has the permission
RG
Your code is giving me the following error
Object doesn't support this property or method: 'exec'
Also in my code i dont see the test.txt file physically.
IUSR also has the permission
RG
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I am using Win 2K
OK now it worked
I still dont understand why my code did not work. What is the difference
RG
OK now it worked
I still dont understand why my code did not work. What is the difference
RG
@rgarimella:
> I still dont understand why my code did not work. What is the difference
Your Line: intReturn = wshell.run ("cmd.exe dir *.* > c:\test.txt")
Mine Line: intReturn = wshell.run ("%comspec% /c dir *.* > c:\test.txt", 0, True)
1) In mine, I use the environmental COMSPEC, which will contain the full path to the CMD.EXE. Like C:\Winnt\system32\cmd.exe ... It might not work because it can't find cmd.exe.
2) I also added the /c, which tells CMD to run the command, and then exit. Without it, you might end up with a bunch of cmd.exe running on your server with no way to kill them.
3) I also set the last parameter to Run to be "True", which tells it to wait until the program exits before continuning. That way, if there is a delay creating that file, you won't miss it.
HTH,
Dex*
> I still dont understand why my code did not work. What is the difference
Your Line: intReturn = wshell.run ("cmd.exe dir *.* > c:\test.txt")
Mine Line: intReturn = wshell.run ("%comspec% /c dir *.* > c:\test.txt", 0, True)
1) In mine, I use the environmental COMSPEC, which will contain the full path to the CMD.EXE. Like C:\Winnt\system32\cmd.exe ... It might not work because it can't find cmd.exe.
2) I also added the /c, which tells CMD to run the command, and then exit. Without it, you might end up with a bunch of cmd.exe running on your server with no way to kill them.
3) I also set the last parameter to Run to be "True", which tells it to wait until the program exits before continuning. That way, if there is a delay creating that file, you won't miss it.
HTH,
Dex*
ASKER
Thanks Dex Appreciate it
RG
RG
No problem! :)
Peace,
Dex*
Peace,
Dex*
Hi, in javascript I'm using WScript.Shell, but the line var ws = new ActiveXObject("WScript.She ll"); cause a warning message asking to accept or not the ActiveX interaction. Is there a wau to avoid this message?
Thanx in advance,
Guillermo
Thanx in advance,
Guillermo
The user must set internet secury preferences to allow scripting on activeX control nor marked as "safe"
The easy way to solve this is including your web site in the "safe zone", and relax the security restrictions on that zone
Another tip, the run method is available from JScript 5.6, and Win2K comes by default with JScript 5.5. So if you want the run method works, you must either update the browser to IE6 or the JScript runtime standalone.
The easy way to solve this is including your web site in the "safe zone", and relax the security restrictions on that zone
Another tip, the run method is available from JScript 5.6, and Win2K comes by default with JScript 5.5. So if you want the run method works, you must either update the browser to IE6 or the JScript runtime standalone.
> I was trying to run a WScript.Shell command on the server so that i can zip
> the files in a folder. But to test it out i was trying to just do a simple command
I don't see a question or problem here. The 0 indicates it executed successfully. Also, the IUSR_ is going to need to have write access on the file C:\Test.txt.
What were you expecting?
Try this:
<%
Dim wshell, proc
set wshell = server.createobject("wscri
set proc = wshell.exec("%comspec% /c dir *.*")
' Wait the process to finish
Do While proc.Status = 0
WScript.Sleep 100
Loop
Response.Write proc.StdOut.ReadAll
set wshell = nothing
%>
Hope That Helps,
Dex*