%~3
расширяет входную переменную %3
, удаляя окружающие квоты.Вы также можете сделать немного более чистый сценарий, не имея двойного перенаправления в файл в каждой строке.
@echo off
>script.tmp (
echo open sftp://user:pass@cagprod/
echo option batch continue
echo option confirm off
echo cd /ccr/ccar_modsub/Unsecured_Production/CCAR_Models/Model_Code_Version/Acct_lvl/HK_CARD/Code
echo get * "Y:\1. Documents\Automated file copying\%~3\Code\"
echo close
echo exit
)
Кроме того, что стоит отметить в исходном коде.При выполнении перенаправлений будьте осторожны с пробелами перед перенаправлением, поскольку любые пробелы фактически передаются как часть выходных данных, поэтому, хотя в большинстве случаев это не имеет значения, это может иметь значение.Чтобы продемонстрировать это, просто запустите их из cmdline:
type nul>test_file.txt
echo Hello >> test_file.txt
Затем выполните notepad test_file.txt
и запишите завершающий пробел после Hello
. Вы можете повторить нижеприведенное, чтобы не видеть завершающие пробелы:
type nul>test_file.txt
echo Hello>>test_file.txt