Ultrix
20-08-2014, 07:10
Здравствуйте. Помогите, пожалуйста, разобраться с проблемой. Пишу скрипт, который должен запускаться раз в сутки и копировать файл на фтп-сервер в 2 разные папки под двумя разными именами. Этот файл обновляется и каждый раз у него разное имя. По идее проблема не большая, но я столкнулся с небольшой проблемой. Вот часть скрипта:
dir /b *.txt > Name.txt
set /p qwerty = <Name.txt
rem проверка содержимого переменной
set qwerty
copy "d:\na_ftp\%qwerty%" test.txt
в папке со скриптом (d:\na_ftp\) есть файл 1.txt, имя которого по первой строке скрипта валится в файл, а вторая строка задает из этого файла значение переменной, равное имени этого файла. собственно, последняя строка копирует файл в эту же папку с переименованием.
Так вот проблема заключается в том, что значение переменной не подставляется в параметры команды copy. Почему то подставляется пустое значение:
D:\na_ftp>output.bat
D:\na_ftp>dir /b *.txt 1>Name.txt
D:\na_ftp>set /p qwerty = 0<Name.txt
D:\na_ftp>set qwerty
qwerty =1.txt
D:\na_ftp>copy "d:\na_ftp\" test.txt
Не удается найти указанный файл.
даже если так: copy "%qwerty%" test.txt, то:
D:\na_ftp>copy "" test.txt
Системе не удается найти указанный путь.
Видно, что перемеренная получает правильное имя файла, а подставляется пустое значение. Подскажите, пожалуйста, так и должно быть? Если да, то как по-другому это реализовать?
PS даже если значение переменной задать вручную, то он ее все равно не подставляет
dir /b *.txt > Name.txt
set /p qwerty = <Name.txt
rem проверка содержимого переменной
set qwerty
copy "d:\na_ftp\%qwerty%" test.txt
в папке со скриптом (d:\na_ftp\) есть файл 1.txt, имя которого по первой строке скрипта валится в файл, а вторая строка задает из этого файла значение переменной, равное имени этого файла. собственно, последняя строка копирует файл в эту же папку с переименованием.
Так вот проблема заключается в том, что значение переменной не подставляется в параметры команды copy. Почему то подставляется пустое значение:
D:\na_ftp>output.bat
D:\na_ftp>dir /b *.txt 1>Name.txt
D:\na_ftp>set /p qwerty = 0<Name.txt
D:\na_ftp>set qwerty
qwerty =1.txt
D:\na_ftp>copy "d:\na_ftp\" test.txt
Не удается найти указанный файл.
даже если так: copy "%qwerty%" test.txt, то:
D:\na_ftp>copy "" test.txt
Системе не удается найти указанный путь.
Видно, что перемеренная получает правильное имя файла, а подставляется пустое значение. Подскажите, пожалуйста, так и должно быть? Если да, то как по-другому это реализовать?
PS даже если значение переменной задать вручную, то он ее все равно не подставляет