Как сделать этот простой скрипт.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
Другие вопросы по тегам