Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Проблема с планировщиком, как передать рабочую папку (http://forum.oszone.net/showthread.php?t=211984)

white155 26-07-2011 16:27 1720330

Проблема с планировщиком, как передать рабочую папку
 
Вложений: 1
Мне необходимо в планировщик добавить параметр [Рабочая папка], при выполнении команды он не передается, и моя программа работает не правильно
использую schtasks /create, программа с ключом :NETC

schtasks /create /tn EXCH /tr "C:\db\start.exe :NETC" /sc HOURLY /mo 6 /F

Если руками добавить рабочую папку то моя программа работает правильно и запускается как надо,
вопрос как добавить рабочую папку программно в планировщик

Vadikan 26-07-2011 16:31 1720334

white155, попробуйте nircmd для запуска вашего start.exe с передачей параметра working folder
http://www.nirsoft.net/utils/nircmd2.html#exec2

white155 05-08-2011 01:48 1726141

Экспериментировал с nircmd и командой exec2, не срабатывает не запускается, не получается,
как ещё можно передать рабочую папку в планировщик заданий!? смотрите картинку, вложенное изображение!

Vadikan 08-08-2011 23:56 1728282

Цитата:

Цитата white155
не срабатывает не запускается, не получается, »

Гм... а как вы это делали? Команда где?

Loran_rus 18-08-2011 10:38 1734356

Попробуй запускать через "Cmd /C Start /D"путь\рабочая_папка" /Wait "путь\исполняемый_файл" параметры"

Пример:

Код:

Cmd /C Start /DD:\NetAuth\script\ /WAIT /B D:\NetAuth\bin\bin\perl.exe scriptname.pl

white155 12-01-2012 17:04 1834067

Может есть вариант как в VBS это сделать?

Iska 12-01-2012 17:42 1834101

Конечно. Можно, например, передавать путь отдельным параметром скрипта в командной строке, а в самом скрипте проверять, указан ли данный параметр, и, если указан, устанавливать соответствующий путь. Наподобие:
Код:

Option Explicit

Dim objWshShell


Set objWshShell = WScript.CreateObject("WScript.Shell")

If WScript.Arguments.Named.Exists("SetFolder") Then
    WScript.Echo objWshShell.CurrentDirectory

    objWshShell.CurrentDirectory = WScript.Arguments.Named.Item("SetFolder")

    WScript.Echo objWshShell.CurrentDirectory
End If

Set objWshShell = Nothing

WScript.Quit 0

Пример вызова скрипта:
Код:

cscript.exe //nologo C:\Песочница\001\0002.vbs /SetFolder:"C:\Temp"
Результат:
Цитата:

Код:

C:\Песочница\001
C:\Temp




Время: 08:19.

Время: 08:19.
© OSzone.net 2001-