Я пытаюсь заархивировать и FTP файл в одном пакетном файле. Часть Zip работает, но приложение FTP читает весь пакетный скрипт, а не только строки под командами FTP, что вызывает ошибки.
Если эти файлы не читаются последовательно, как мне использовать Zip и FTP в одном командном файле?
@echo off
:: zip the file(s)
7z a -tzip c:\test.zip c:\unst.log
:: ftp the files
C:\WINDOWS\system32\ftp.exe -s:%0
open 10.1.7.10
myusername
mypassword
binary
put c:\test.zip
quit
pause
::exit
Я не уверен, как %0
работает, но для меня это работает следующим образом:
@echo off
C:\WINDOWS\system32\ftp.exe -s:ftp_data.txt
pause
Где ftp_data.txt имеет следующее содержимое:
open 10.0.0.2
username
password
binary
put the_file_i_want_to_upload.txt
quit
Есть ли требование хранить их все в одном файле? Потому что то, что вы делаете, говорит ему, чтобы он сам проанализировал команды для загрузки на FTP, что (очевидно) не сработает.
Самый простой (и нормальный) способ сделать это - создать отдельный файл. ftp_script.txt
в котором есть команды FTP.
Во-первых, во всех случаях скрипт ur делает то, что вы хотите? исключения?
Я вижу, что он перезапишет целевой файл, если он существует ... очень плохо, если это важные файлы
Если передача не удалась ... Нет журнала !! (Важно для производственной среды, если вам нужно искать в журналах по месяцам)
Хотя на первый взгляд может быть интересно использовать FTP-клиент от Microsoft, Если вы думаете, что проект продлится больше недели, я думаю, вам следует подумать об использовании более мощных клиентов FTP / SFTP.
Клиенты, которые могут получать журналы, которые могут избежать перезаписи файлов, если они существуют (и вы хотите), которые могут быть интегрированы с другими скриптами (например, PowerShell или Wscript) ...
Их довольно много, но один из самых полезных - WinScp. Это улучшит вашу работу сейчас и в будущем, потому что это действительно хорошее приложение.