Как сделать этот простой скрипт.bat на Windows Server 2012?
Я пытаюсь запустить этот простой скрипт в Windows Serwer 2012, который отлично работает в Windows 7. Цикл не работает, потому что параметр (%%A строка в текстовом файле) не распознается в статистике. Как я могу сделать этот цикл для работы на Windows Server 2012?
@Echo off
mkdir E:\datastage_backup\%date:~-4,4%%date:~-10,2%%date:~7,2%
REM ***Nazwa serwera***
SET H = INFOSRV
REM ***Ip:Port***
SET D = 111.11.11.11:1111
REM ***Nazwa katalogu z exportem***
SET EXPORT_CMD = C:\Users\alato.EXORIGO\Desktop\export\
C:\IBM\InformationServer\Clients\Classic\dsjob -server SMYK-INFOSRV -user alato -password password -domain 111.11.11.11:1111 -lprojects > %EXPORT_CMD%list.txt
@echo on
for /F %%A in (list.txt) do (
C:\IBM\InformationServer\Clients\Classic\dscmdexport %D% %H% /U=alato /P=password %%A C:\Users\alato.EXORIGO\Desktop\export\%DATE%\%%A.dsx
)
2 ответа
Не используйте пробелы в командах SET, если вы действительно не хотите их. Вы также должны использовать кавычки, чтобы гарантировать отсутствие пробелов. Измени эти строки.
SET "H=INFOSRV"
SET "D=111.11.11.11:1111"
SET "EXPORT_CMD=C:\Users\alato.EXORIGO\Desktop\export\"
Для первой итерации я получаю что-то вроде этого
C:\IBM\InformationServer\Clients\Classic\dscmdexport /U=alato /P=rt9jTT123 %A C:\Users\alato.EXORIG
O\Desktop\export\Fri 03/11/2016\%A.dsx
Они должны быть такими:
C:\IBM\InformationServer\Clients\Classic\dscmdexport /U=alato /P=rt9jTT123 VALUE_OF_VARIABLE C:\Users\alato.EXORIGO\Desktop\export\Fri 03/11/2016\VALUE_OF_VARIABLE.dsx