Search Results

Search found 165 results on 7 pages for 'wscript'.

Page 1/7 | 1 2 3 4 5 6 7  | Next Page >

  • Write to file using CopyHere without using WScript.Sleep

    - by mlevit
    Hi guys, I've written a small VBScript to creates a .zip file and then copies the contents of a specified folder into that .zip file. I copy the files over one by one for a reason (I know I can do the whole lot at once). However my problem is when I try to copy them one by one without a WScript.Sleep between each loop iteration I get a "File not found or no read permission." error; if I place a WScript.Sleep 200 after each write it works but not 100% of the time. Pretty much I'd like to get rid of the Sleep function and not rely on that because depending on the file size it may take longer to write therefore 200 milliseconds may not be enough etc. As you can see with the small piece of code below, I loop through the files, then if they match the extension I place them into the .zip (zipFile) For Each file In folderToZip.Items For Each extension In fileExtensions if (InStr(file, extension)) Then zipFile.CopyHere(file) WScript.Sleep 200 Exit For End If Next Next Any suggestions on how I can stop relying on the Sleep function? Thanks

    Read the article

  • wscript.shell running file with space in path with PHP

    - by ermac2014
    I was trying to use wscript.shell through COM objects with php to pass some cmd commands to cURL library (the DOS version). here is what I use to perform this task: function windExec($cmd,$mode=''){ // Setup the command to run from "run" $cmdline = "cmd /C $cmd"; // set-up the output and mode if ($mode=='FG'){ $outputfile = uniqid(time()) . ".txt"; $cmdline .= " > $outputfile"; $m = true; } else $m = false; // Make a new instance of the COM object $WshShell = new COM("WScript.Shell"); // Make the command window but dont show it. $oExec = $WshShell->Run($cmdline, 0, $m); if ($outputfile){ // Read the tmp file. $retStr = file_get_contents($outputfile); // Delete the temp_file. unlink($outputfile); } else $retStr = ""; return $retStr; } now when I run this function like: windExec("\"C:/Documents and Settings/ermac/Desktop/my project/curl\" http://www.google.com/", 'FG'); curl doesn't run because there is a problem with the path. but when I remove the spaces from the path it works great. windExec("\"C:/curl\" http://www.google.com/", 'FG'); so my question is how can I escape these spaces in wscript.shell commands? is there anyway I can fix this? thanks in advance :)

    Read the article

  • Exception thrown when using WScript via COM in PHP

    - by user198729
    try { $cmd = 'php path_to_file.php args'; $WshShell = new COM("WScript.Shell"); $oExec = $WshShell->Run($cmd, 1, false); } catch( Exception $e ) { echo 'Caught exception: ', $e->getMessage(), "\n"; } It reports: Caught exception: Source: Unknown Description: Unknown Has anyone met this kind of problem ?

    Read the article

  • problem creating object "wscript.shell"

    - by sushant
    my script looks like: Dim WshShell, oExec Set WshShell = CreateObject("WScript.Shell") Set oExec = WshShell.Exec("cmd /c cd D:\d & D: & winzip32.exe -min -a D:\a") Do While oExec.Status = 0 WScript.Sleep 100 Loop WScript.Echo oExec.Status The idea was to use explorer to open these files. The problem I'm having though is on the line: Set WshShell = CreateObject("WScript.Shell") I keep getting the message ActiveX component can't create object: 'WScript.Shell' I'm totally confused because this exact same code runs fine if I write it in a .htm file. Why does my browser treat my .asp page differently than the .html file? How do i fix this problem?

    Read the article

  • File permissions with FileSystemObject - CScript.exe says one thing, Classic ASP says another...

    - by Dylan Beattie
    I have a classic ASP page - written in JScript - that's using Scripting.FileSystemObject to save files to a network share - and it's not working. ("Permission denied") The ASP page is running under IIS using Windows authentication, with impersonation enabled. If I run the following block of code locally via CScript.exe: var objNet = new ActiveXObject("WScript.Network"); WScript.Echo(objNet.ComputerName); WScript.Echo(objNet.UserName); WScript.Echo(objNet.UserDomain); var fso = new ActiveXObject("Scripting.FileSystemObject"); var path = "\\\\myserver\\my_share\\some_path"; if (fso.FolderExists(path)) { WScript.Echo("Yes"); } else { WScript.Echo("No"); } I get the (expected) output: MY_COMPUTER dylan.beattie MYDOMAIN Yes If I run the same code as part of a .ASP page, substituting Response.Write for WScript.Echo I get this output: MY_COMPUTER dylan.beattie MYDOMAIN No Now - my understanding is that the WScript.Network object will retrieve the current security credentials of the thread that's actually running the code. If this is correct - then why is the same user, on the same domain, getting different results from CScript.exe vs ASP? If my ASP code is running as dylan.beattie, then why can't I see the network share? And if it's not running as dylan.beattie, why does WScript.Network think it is?

    Read the article

  • svn dump fails with WScript.Shell

    - by chandrajeet
    var WshShell = new ActiveXObject("WScript.Shell"); var commandLine = "svnadmin dump " + repoFullPath + " > " + repoName + ".dumpfile"; WshShell.Exec(commandLine) I am trying to run above cscript in windows but it seems like, it's doing nothing. It doesn't create the dump file. Any mistake that I am doing? Thanks,

    Read the article

  • How to solve "catastrophic failure" with 32-bit COM component in SysWOW64\cscript or wscript

    - by kcrumley
    I'm trying to run a VBScript script that uses a 7-year-old 3rd-party 32-bit COM component on Windows Server 2008 R2, with the command-line 32-bit script host, SysWOW64\cscript.exe. When I call CreateObject on the class, it appears to be successful, but the very first time I try to use a property or method (I've tried several different ones) on the object, it gives me the "catastrophic failure". I have identical results with SysWOW64\wscript.exe, except, of course, that my error message comes in a msgbox instead of the command-line window. I think this has to do specifically with the 64-bit scripting hosts because of the following: The equivalent Classic ASP script, calling the same component and using 95% of the same code, works correctly on the same server, with IIS configured to support 32-bit COM. The same VBScript works correctly on a 32-bit Windows XP machine and a 32-bit Windows Server 2003 machine. The component fails in exactly the same way on my 64-bit Windows 7 machine. My Google searches for solutions to this problem have mostly turned up a lot of different problems that were solved by putting the COM component into a toolbar in Visual Studio. Obviously, that solution doesn't apply here. My questions are: Is there a core problem that is always behind a "catastrophic failure" from a Windows scripting host calling a COM component? Is there a place in a configuration snap-in, or in the registry, where I need to make a change similar to the change I had to make to the IIS Application pool to "Enable 32-bit Applications"? Is there a general place in the Server 2008 R2 Event Viewer that I should be looking, to see if there are any more details on the failure, in case it turns out to be specific to this component? Thanks in advance.

    Read the article

  • Unable to resolve user environment variable correctly

    - by Junaid
    I am trying to resolve %USERPROFILE% using WScript.Shell. When I create a vbs file and run directly from Windows, I get the correct path for the logged-in user C:\Documents and Settings\Administrator but it gets resolved to C:\Documents and Settings\Default User instead of logged-in user when I used it inside my classic ASP webapp running on the local machine on IIS. The code I used is as below var oShell = new ActiveXObject("Wscript.Shell"); var userPath = oShell.ExpandEnvironmentStrings("%USERPROFILE%"); Is there a permission/setting which I need to check to get correct value of USERPROFILE when retrieving value from the webapp? PS: I am using javascript to code.

    Read the article

  • Accessing curl executable from Program files?

    - by Kaido
    I have built an application which uses user executable through WScript com object. Now the main program is located in C:\Program files\Myapp Curl executable is located in C:\Curl But it looks like my application is unable to execute curl if main application is in Program files. If i move it to another location it can execute curl nicely. Problem occurs only on Windows Xp on Vista and Win7 it works perfectly. Is there any special permissions i have to give to my app or what?

    Read the article

  • Task Scheduler not able to execute .vbs scripts successfully

    - by Django Reinhardt
    Apologies if this has a really obvious answer! We have several daily tasks we run via a .vbs script on our server (through the Task Scheduler), and for months it has been fine, but recently we've hit a problem. The .vbs scripts stopped successfully executing (always timing out)... but could still be executed manually with no problems(!). Not knowing any good reason why the Task Scheduler should start having problems, we thought we'd try a little "creative thinking", and run the .vbs another way: Via a .bat file executed by the Task Scheduler. Again we hit weird issues, but with a little more debugging information, this time around. The .bat file run by Task Scheduler is nothing more than... CScript "C:\location\script.vbs" > Log.txt But after an attempt to run it, the Task Scheduler fails with the following error: 0x1: An incorrect function was called or an unknown function was called. The Log.txt (as output from the .bat file above) says: CScript Error: Initialization of the Windows Script Host failed. (Not enough storage is available to process this command. ) But get this: The .bat file executes perfectly (vbs script and all) if it's executed with a double click! There's only a problem when it's run by Task Scheduler. What the hell? We're running Windows Server 2008 R2 (x64) and yes, the Task Sheduler's results are the same whether the user is logged in or not. Also, the user that can run the scripts successfully manually, is also the same user that runs the scripts in Task Scheduler. Thanks for any help for this weird problem!

    Read the article

  • Task Scheduler not able to execute .vbs successfully

    - by Django Reinhardt
    Hi there, got this weird problem, which will hopefully have an obvious solution for some enlightened soul: We have several daily tasks we run via a .vbs script on our server (through the Task Scheduler), and for months it has been fine, but recently we've hit a problem. The .vbs script stopped successfully executing... but oddly it worked fine when ran manually! The error given in these circumstances was always "Timeout". We thought we try a little creative thinking, and run the .vbs another way: Via a .bat file. Again we hit weird issues, but with a little more debugging information, this time around. The .bat file is nothing more than... CScript "C:\location\script.vbs" > Log.txt But the Task Scheduler fails with the following error: 0x1: An incorrect function was called or an unknown function was called. The log.txt file says: CScript Error: Initialization of the Windows Script Host failed. (Not enough storage is available to process this command. ) But get this: The .bat file executes perfectly (vbs script and all) if it's executed with a double click! There's only a problem when it's run by Task Scheduler. What the hell? We're running Windows Server 2008 R2 (x64) and yes, the Task Sheduler's results are the same whether the user is logged in or not. Also, the user that can run the scripts successfully manually, is also the same user that runs the scripts in Task Scheduler. Thanks for any help for this weird problem!

    Read the article

  • .VBS scripts have stopped running... No idea why!

    - by Django Reinhardt
    We have two .vbs scripts that are run by our Task Scheduler that have suddenly stopped working for no reason we can fathom. We haven't significantly altered our system configuration in the last 24 hours, and the scripts have run without a hitch for months. According to the Task Scheduler the scripts just keep running and never stop, which is never the case. I stopped all running versions through the Scheduler and manually attempted to run one of the .vbs scripts. I got the following error message: Line: 15 Error: The system cannot locate the resource specified. Code: 800C0005 Source: msxml3.dll Line 15 (or 16 to be more accurate - line 15 itself is blank, but so is line 1) is: xml.Send Would could have suddenly caused this? Looking in system32\ and sysWOW64\ shows that msxml3.dll exists. Anybody got any ideas? Thanks a lot!

    Read the article

  • Script for run script

    - by user280926
    Hello everybody I have a script on vbscript Dim WSHShell, WinDir, Value, wshProcEnv, fso, Spath Set WSHShell = CreateObject("WScript.Shell") Dim objFSO, objFileCopy Dim strFilePath, strDestination Const OverwriteExisting = True Set objFSO = CreateObject("Scripting.FileSystemObject") Set windir = objFSO.getspecialfolder(0) objFSO.CopyFile "\\dv.rt.ru\SYSVOL\DV.RT.RU\scripts\shutdown.vbs", windir&"\", OverwriteExisting strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2") JobID = "1" Set colScheduledJobs = objWMIService.ExecQuery _ ("Select * from Win32_ScheduledJob") For Each objJob in colScheduledJobs objJob.Delete Next Set objNewJob = objWMIService.Get("Win32_ScheduledJob") errJobCreate = objNewJob.Create _ (windir & "\shutdown.vbs", "********093000.000000+660", _ True, 1 OR 2 OR 4 OR 8 OR 16 OR 32 OR 64, ,True, JobId) How make that shutdown.vbs not run once at 9:30 but run for 9:30 to 12:00

    Read the article

  • Javascript function not getting Windows username

    - by Cocoa Dev
    function getWindowsUserName() { var WinNetwork = new ActiveXObject("WScript.Network"); var urlToSite = "http://localhost/index.php?nph-psf=0&HOSTID=AD&ALIAS=" & WinNetwork.username document.getElementById(psyncLink).value = urlToSite; } I am trying to make the frame load the urlToSite <frameset cols="300px, *"> <frame src="topo1.htm" name="topo" id="topo" application="yes" /> <frame src="http://localhost/index.php?nph-psf=0&HOSTID=AD&ALIAS=" name="psync" id="psyncLink" application="yes" /> </frameset>

    Read the article

  • Script to download file and rename according to date on Windows Vista machine?

    - by Dave
    Hi, I need to daily run a script that will download a file from a fixed location and save it on my computer with an appropriate filename-YYYYMMDD-HHSS.ext timestamp. I need a historical record of what that file was at that particular time. I can manually check and see what the changes were, so compairson not needed. (I was looking for an online service that would do this for me, but I think a locally running script on my machine would be good enough). Although i do have php on my machine, i would prefer if its a pure windows builtin solution, just in case i have to (likely) adapt it to someone else's system (non-techies). If someone has something like this and can contribute the code - help would be most appreciated!! D

    Read the article

  • using return values from a c# .net made component build as com+

    - by YvesR
    Hello, so far I made a component in C# .NET 4 and use System.EnterpriseServices to make it COM visible. I want to develop business methods in C#, but I still need to access them from classic ASP (vbscript). So far so good, everything works fine (exept function overloading :)). Now I made a test class to get more expirience with return code. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.EnterpriseServices; using System.Management; namespace iController { /// /// The tools class provides additional functions for general use in out of context to other classes of the iController. /// public class tools :ServicedComponent { #region publich methods public bool TestBoolean() { return true; } public string TestString() { return "this is a string"; } public int TestInteger() { return 32; } public double TestDouble() { return 32.32; } public float TestFloat() { float ret = 2 ^ 16; return ret; } public string[] TestArray() { string[] ret = {"0","1"}; return ret; } public int[][] TestJaggedArray() { int[][] jaggedArray = new int[3][]; jaggedArray[0] = new int[] { 1, 3, 5, 7, 9 }; jaggedArray[1] = new int[] { 0, 2, 4, 6 }; jaggedArray[2] = new int[] { 11, 22 }; return jaggedArray; } public Dictionary<string, string> TestDictionary() { Dictionary<string, string> ret = new Dictionary<string,string>(); ret.Add("test1","val1"); ret.Add("test2","val2"); return ret; } #endregion } } Then I just made a simple vbscript file to run it with cscript.exe for testing porpuse. Dim oTools : Set oTools = CreateObject("iController.tools") WScript.StdOut.WriteLine TypeName(oTools.TestBoolean()) & " - " & oTools.TestBoolean() WScript.StdOut.WriteLine TypeName(oTools.TestString()) & " - " & oTools.TestString() WScript.StdOut.WriteLine TypeName(oTools.TestInteger()) & " - " & oTools.TestInteger() WScript.StdOut.WriteLine TypeName(oTools.TestDouble()) & " - " & oTools.TestDouble() WScript.StdOut.WriteLine TypeName(oTools.TestFloat()) & " - " & oTools.TestFloat() test = oTools.TestArray() WScript.StdOut.WriteLine TypeName(test) WScript.StdOut.WriteLine UBound(test) For i = 0 To UBound(test) WScript.StdOut.WriteLine test(i) Next For Each item IN test WScript.StdOut.WriteLine item Next test = oTools.TestJaggedArray() WScript.StdOut.WriteLine TypeName(test) For Each item IN test WScript.StdOut.WriteLine test & " - " & test.Item(item) Next test = oTools.TestDictionary() WScript.StdOut.WriteLine TypeName(test) For Each item IN test WScript.StdOut.WriteLine test & " - " & test.Item(item) Next What works fine: string, int, foat, double When it comes to array, jaggedarray or dictionaries I get a type mismatch. VarType is 13 object for the dictionary e.g. but this dict seems to be different then the Scripting.Dictionary. I checked codeproject.com and stackoverflow all day and didn't find any hints exept some thread on stackoverflow where someone mentioned there is a need to created a IDispatch interface. So anyone ever had the same issue and can help me or give me some hints I can go on with?

    Read the article

  • WS2008 subst in Logon script does not "stick"

    - by Frans
    I have a terminal server environment exclusively with Windows Server 2008. My problem is that I need to "map" a drive letter to each users Temp folder. This is due to a legacy app that requries a separate Temp folder for each user but which does not understand %temp%. So, just add "subst t: %temp%" to the logon script, right? The problem is that, even though the command runs, the subst doesn't "stick" and the user doesn't get a T: drive. Here is what I have tried; The simplest version: 'Mapping a temp drive Set WinShell = WScript.CreateObject("WScript.Shell") WinShell.Run "subst T: %temp%", 2, True That didn't work, so tried this for more debug information: 'Mapping a temp drive Set WinShell = WScript.CreateObject("WScript.Shell") Set procEnv = WinShell.Environment("Process") wscript.echo(procEnv("TEMP")) tempDir = procEnv("TEMP") WinShell.Run "subst T: " & tempDir, 3, True This shows me the correct temp path when the user logs in - but still no T: Drive. Decided to resort to brute force and put this in my login script: 'Mapping a temp drive Set WinShell = WScript.CreateObject("WScript.Shell") WinShell.Run "\\domain\sysvol\esl.hosted\scripts\tempdir.cmd", 3, True where \domain\sysvol\esl.hosted\scripts\tempdir.cmd has this content: echo on subst t: %temp% pause When I log in with the above then the command window opens up and I can see the subst command being executed correctly, with the correct path. But still no T: drive. I have tried running all of the above scripts outside of a login script and they always work perfectly - this problem only occurs when doing it from inside a login script. I found a passing reference on an MSFN forum about a similar problem when the user is already logged on to another machine - but I have this problem even without being logged on to another machine. Any suggestion on how to overcome this will be much appreciated.

    Read the article

  • WS2008 subst in Logon script does not "stick"

    - by Frans
    I have a terminal server environment exclusively with Windows Server 2008. My problem is that I need to "map" a drive letter to each users Temp folder. This is due to a legacy app that requries a separate Temp folder for each user but which does not understand %temp%. So, just add "subst t: %temp%" to the logon script, right? The problem is that, even though the command runs, the subst doesn't "stick" and the user doesn't get a T: drive. Here is what I have tried; The simplest version: 'Mapping a temp drive Set WinShell = WScript.CreateObject("WScript.Shell") WinShell.Run "subst T: %temp%", 2, True That didn't work, so tried this for more debug information: 'Mapping a temp drive Set WinShell = WScript.CreateObject("WScript.Shell") Set procEnv = WinShell.Environment("Process") wscript.echo(procEnv("TEMP")) tempDir = procEnv("TEMP") WinShell.Run "subst T: " & tempDir, 3, True This shows me the correct temp path when the user logs in - but still no T: Drive. Decided to resort to brute force and put this in my login script: 'Mapping a temp drive Set WinShell = WScript.CreateObject("WScript.Shell") WinShell.Run "\\domain\sysvol\esl.hosted\scripts\tempdir.cmd", 3, True where \domain\sysvol\esl.hosted\scripts\tempdir.cmd has this content: echo on subst t: %temp% pause When I log in with the above then the command window opens up and I can see the subst command being executed correctly, with the correct path. But still no T: drive. I have tried running all of the above scripts outside of a login script and they always work perfectly - this problem only occurs when doing it from inside a login script. I found a passing reference on an MSFN forum about a similar problem when the user is already logged on to another machine - but I have this problem even without being logged on to another machine. Any suggestion on how to overcome this will be much appreciated.

    Read the article

  • Getting Win32_Service security descriptor using VBScript

    - by invictus
    Hi, I am using VbScript for retrieving the securitydescriptor of a Win32_Service. I am using the following code: SE_DACL_PRESENT = &h4 ACCESS_ALLOWED_ACE_TYPE = &h0 ACCESS_DENIED_ACE_TYPE = &h1 strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate, (Security)}!\\" & strComputer & "\root\cimv2") Set colInstalledPrinters = objWMIService.ExecQuery _ ("Select * from Win32_Service") For Each objPrinter in colInstalledPrinters Wscript.Echo "Name: " & objPrinter.Name ' Get security descriptor for printer Return = objPrinter.GetSecurityDescriptor( objSD ) If ( return <> 0 ) Then WScript.Echo "Could not get security descriptor: " & Return wscript.Quit Return End If ' Extract the security descriptor flags intControlFlags = objSD.ControlFlags If intControlFlags AND SE_DACL_PRESENT Then ' Get the ACE entries from security descriptor colACEs = objSD.DACL For Each objACE in colACEs ' Get all the trustees and determine which have access to printer WScript.Echo objACE.Trustee.Domain & "\" & objACE.Trustee.Name If objACE.AceType = ACCESS_ALLOWED_ACE_TYPE Then WScript.Echo vbTab & "User has access to printer" ElseIf objACE.AceType = ACCESS_DENIED_ACE_TYPE Then WScript.Echo vbTab & "User does not have access to the printer" End If Next Else WScript.Echo "No DACL found in security descriptor" End If Next However, every time I run it I get the message saying the resulting code is -2165236532 something, rather than the error codes defined in the manual. Anyone got any ideas? I am using Windows 7 professional.

    Read the article

  • insert VBS variable within a single-quoted WMI query

    - by jiaoziren
    Hi all, I am really frustrated by the snippet below: Dim objFSO, varSrc, varDest, varExt Set objFSO = CreateObject("Scripting.FileSystemObject") varSrc = WScript.Arguments(0) varDest = WScript.Arguments(1) varExt = WScript.Arguments(2) If objFSO.FolderExists(varSrc) Then WScript.Echo varSrc strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colMonitoredEvents = objWMIService.ExecNotificationQuery _ ("SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE " _ & "Targetinstance ISA 'CIM_DirectoryContainsFile' AND " _ & "TargetInstance.GroupComponent= " _ & "'Win32_Directory.Name=""c:\\\\kk ""'") Do Set objLatestEvent = colMonitoredEvents.NextEvent WScript.Echo objLatestEvent.TargetInstance.PartComponent Loop Else WScript.Echo "Bazinga" End If I tried to replace c:\\kk with varSrc however it seems impossible for WSH to recognize it in WMI query - not to mention it was within a single quote! I have tried chr(34) and it didn't work. Please help if possible. Much appreciated!

    Read the article

  • calling two functions sequentially in vbscript with single click event

    - by sushant
    i need to call two function on a single click event. and also the functions shud get executed sequentially. i tried click me . but its not working.its not calling any of the functions. here is the complete code. sorry for formatting. function copy() Dim WshShell, oExec,g,h h="D:\d" g="xcopy " & h & " " & "D:\y\ /E" Set WshShell = CreateObject("WScript.Shell") Set oExec = WshShell.Exec(g) Do While oExec.Status = 0 WScript.Sleep 100 Loop WScript.Echo oExec.Status end function function zip() Dim WshShel, oExe Set WshShel = CreateObject("WScript.Shell") Set oExe = WshShel.Exec("cmd /c cd D:\d & D: & winzip32.exe -min -a D:\a") Do While oExe.Status = 0 WScript.Sleep 100 Loop WScript.Echo oExe.Status end function click me any help is appreciated.

    Read the article

1 2 3 4 5 6 7  | Next Page >