|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Copy не принимает переменные |
|
CMD/BAT - [решено] Copy не принимает переменные
|
Старожил Сообщения: 279 |
Здравствуйте. Помогите, пожалуйста, разобраться с проблемой. Пишу скрипт, который должен запускаться раз в сутки и копировать файл на фтп-сервер в 2 разные папки под двумя разными именами. Этот файл обновляется и каждый раз у него разное имя. По идее проблема не большая, но я столкнулся с небольшой проблемой. Вот часть скрипта:
dir /b *.txt > Name.txt set /p qwerty = <Name.txt rem проверка содержимого переменной set qwerty copy "d:\na_ftp\%qwerty%" test.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 Не удается найти указанный файл. Видно, что перемеренная получает правильное имя файла, а подставляется пустое значение. Подскажите, пожалуйста, так и должно быть? Если да, то как по-другому это реализовать? PS даже если значение переменной задать вручную, то он ее все равно не подставляет |
|
------- Отправлено: 07:10, 20-08-2014 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать |
Отправлено: 07:54, 20-08-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 279
|
Профиль | Отправить PM | Цитировать Цитата Georgio:
![]() |
|
------- Отправлено: 08:01, 20-08-2014 | #3 |
Старожил Сообщения: 279
|
Профиль | Отправить PM | Цитировать не хочу создавать еще одну тему, напишу здесь.
Дальше проблема в копировании на фтп. батник: dir /b *.txt >Name.txt set /p qwerty= <Name.txt set qwerty copy "%qwerty%" test.txt ftp -s:ftp.txt -i %имя сервера% del test.txt копирование на фтп проходит, файл там появляется, но дальше скрипт останавливается: D:\na_ftp>ftp -s:ftp.txt -i %имя сервера% Связь с %имя сервера%. 220-TwoFTPd server ready. 220 Authenticate first. Пользователь (%имя сервера%:(none)): 331 Send PASS. 230 Ready to transfer files. ftp> cd public 250 Changed directory. ftp> mput d:\na_ftp\test.txt 200 PORT command successful Как бы этого достаточно, скрипт делает то, что должен, но напрягает, что он отконнекчивается от фтп по истечении времени ожидания, а не по команде quit. Может после mput d:\na_ftp\test.txt еще что-то надо добавить? И попутно еще вопрос: будет ли mput по-умолчанию заменять существующий файл с таким же именем на ФТП-сервере? если нет, то какой параметр еще указать надо? |
------- Последний раз редактировалось Ultrix, 20-08-2014 в 08:45. Отправлено: 08:31, 20-08-2014 | #4 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 08:51, 20-08-2014 | #5 |
Старожил Сообщения: 279
|
Профиль | Отправить PM | Цитировать Cпасибо, про дисконнект не знал.
Но все равно не работает. 230 Ready to transfer files. ftp> cd public 250 Changed directory. ftp> put d:\na_ftp\test.txt 200 PORT command successful 425 Connection failed: Connection timed out ftp> disconnect 221 Bye. ftp> quit 230 Ready to transfer files. ftp> cd public 250 Changed directory. ftp> put d:\na_ftp\test.txt 200 PORT command successful Разрыв любых активных подключений... ftp> disconnect ftp> quit Завершить выполнение пакетного файла [Y(да)/N(нет)]? Попробовал вместо disconnect команду close - тоже не помогает. |
------- Последний раз редактировалось Ultrix, 20-08-2014 в 09:28. Отправлено: 09:09, 20-08-2014 | #6 |
Старожил Сообщения: 279
|
Профиль | Отправить PM | Цитировать Еще мысль появилась. Может ли такое происходить от того, что фтп-сервер в пассивном режиме? как с таким режимом из cmd работать?
PS только что заметил, что файл, который создается при этом на ФТП-сервере - пустой (0 байт) |
------- Последний раз редактировалось Ultrix, 20-08-2014 в 10:32. Отправлено: 10:24, 20-08-2014 | #7 |
Старожил Сообщения: 279
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 11:27, 20-08-2014 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Ultrix:
|
|
Отправлено: 17:45, 20-08-2014 | #9 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интернет - Не принимает пакеты | waravva | Microsoft Windows 2000/XP | 3 | 21-07-2013 16:11 | |
Прочее - [решено] Сетевая карта не отправляет и не принимает | xkspy | Сетевые технологии | 4 | 07-12-2012 12:32 | |
2003/XP/2000 - Не принимает почту... | helden | Microsoft Office (Word, Excel, Outlook и т.д.) | 3 | 22-09-2011 15:55 | |
Не принимает пароль... | DerriK | Сетевые технологии | 1 | 08-09-2005 17:56 | |
Не принимает номер | Andruha1 | Автоматическая установка Windows 2000/XP/2003 | 5 | 27-12-2004 22:23 |
|