Имя пользователя:
Пароль:
 

Показать сообщение отдельно


Moderator


Сообщения: 53589
Благодарности: 15546

Профиль | Отправить PM | Цитировать


akrav, о-хо-хо...
Во-первых, уберите скобку в конце:
Код: Выделить весь код
for /f "tokens=1,2 delims= " %%A in (%~d0\Base\log.txt) do call testproject %%A %%B)
Должно быть:
Код: Выделить весь код
for /f "tokens=1,2 delims= " %%A in (%~d0\Base\log.txt) do call testproject %%A %%B
Во-вторых, замените в testproject.cmd все %Arg1% на %1 и %Arg3% на %2
Код: Выделить весь код
rem выделим из Arg1 имя файла с расширением
for %%i in (%1) do (set name1=%%~Ni%%~Xi)
rem определим размер файла test.doc
for %%i in (%1) do (set /a size1=%%~Zi)

rem в цикле label1 сравним имеющиеся файлы в папке "Проект"
set /a j=1
:label1
set Arg2=%~d0\Base\%2\%j%%name1%
set /a size2=0

rem определим размер файла jtest.doc
for %%i in (%Arg2%) do if exist %Arg2% (set /a size2=%%~Zi)

rem если такого файла нет копируем его и выходим
if not exist %Arg2% (xcopy "%1" "%Arg2%" /c/q/r/h & goto exit)
rem если он есть, но другого размера продолжаем перебор
if "%size2%" neq "%size1%" (set /a j=j+1 & goto label1)
:exit
testproject.cmd ничего не знает про Arg1 и Arg3. Ему передаются параметры, а параметры пишутся как %1, %2 и т. д.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:51, 07-01-2008 | #5