Я собрал пакетный файл ниже; У меня нет большого опыта работы с пакетными файлами, и я не могу понять, почему файл выходит из строя с сообщением об ошибке: сообщениеПакетный файл для оператора цикла
Команда DO была неожиданной.
Глядя на следующий код, кто-нибудь знает, что я сделал не так? Благодарю.
@ECHO OFF
REM Set arguments supplied by Subversion
SET REPOS = %1
SET REV = %2
REM Set working directory path
SET WORKSPACE = D:\apache\htdocs
REM Assign changes to variable
SET CHANGES = svnlook changed %REPOS% -r %REV%
REM Update only changed files
FOR /f %%a IN %CHANGES% DO svn update %%a
Другая программа на самом деле должна вызывать этот командный файл и передавать каталог и целочисленное значение. Я добавил код для повторения аргументов% 1 &% 2; когда я сам тестировал пакетный файл и передавал ему значения, командный код повторял пробелы, указывающие, что переданные аргументы НЕ назначались, ie post-commit.bat file: /// d:/repos 10 Любая идея, почему аргументы не назначаются? – 2009-08-25 17:10:19
@ Dan Действительно ли это так просто, как @Binary Worrier указывает? –
@Dave Anderson: предложение Binary Worrier находится на правильном пути, но не совсем полно; код нуждается в опции «usebackq» и обратных тиках. – 2009-08-27 17:06:43