Похоже, есть несколько способов вызвать эту проблему. В моем случае это было связано с передачей относительного пути к сценарию, который сгенерировал абсолютный путь, а затем передал этот путь в tf.exe
. Это проблема сценариев Windows больше всего на свете, но вывод tf.exe
сбивает с толку.
На самом деле вы хотели бы, чтобы tfs возвратил «Файл не найден» вместо «Все файлы обновлены».
В дополнение к другим предложениям, сделанным здесь, также дважды проверьте, что вы передаете tf.exe
, переписав команду с помощью echo. Если вы работаете с фоном Unix / Linux, сборка строк на win32 кажется просто сломанной.
broken.bat
SET PARAM1=%1
SET CMD_PATH="c:\path\to\%PARAM1%"
echo %CMD_PATH%
Результат: broken.bat "tool.exe" => "c: \ path \ to \" tool.exe ""
fixed.bat
SET PARAM1=%1
REM Strip quotes: http://www.dostips.com/DtTipsStringManipulation.php
for /f "useback tokens=*" %%x in ('%PARAM1%') do set PARAM1=%%~x
SET CMD_PATH="c:\path\to\%PARAM1%"
echo %CMD_PATH%
Результат: fixed.bat "tool.exe" => "c: \ path \ to \ tool.exe"