以下是我想要執行的操作。是否有可能使用批處理(Windows XP)文件?使用批處理命令自動連接到FTP服務器,繼續使用批處理腳本,並在必要時運行FTP命令
提示用戶登錄到FTP服務器。
弘揚與批處理命令的休息,同時保持FTP會話/登錄活着。
需要時使用FTP PUT命令和批處理命令。
以下是我想要執行的操作。是否有可能使用批處理(Windows XP)文件?使用批處理命令自動連接到FTP服務器,繼續使用批處理腳本,並在必要時運行FTP命令
提示用戶登錄到FTP服務器。
弘揚與批處理命令的休息,同時保持FTP會話/登錄活着。
需要時使用FTP PUT命令和批處理命令。
不,我想不出一種方法來在繼續運行批處理文件並將命令發送到ftp進程的同時保持ftp進程處於活動狀態。
但是,如果這符合您的需求,您的批處理文件可以收集所有它首先需要的數據,生成一個包含所有FTP命令文件,然後傳遞文件FTP.EXE作爲最後一步。
例如:
SET /P ftpuser=Username:
SET /P ftppass=Password:
:: generate ftp script file
ECHO %ftpuser% > ftpcommands.txt
ECHO %ftppass% >> ftpcommands.txt
ECHO put file.txt >> ftpcommands.txt
ECHO quit >> ftpcommands.txt
:: now call ftp and have it process all the commands
ftp -s:ftpcommands.txt server.com
視窗ftp
支持與其-s
開關批處理。但是,在等待更多命令的同時保持FTP會話還沒有好的方法。 ftp
命令將從頭到尾處理其-s
腳本,然後退出。
除了讓批處理腳本生成ftp -s
使用的腳本並根據需要運行它之外,我能想到的唯一解決方案是map the FTP server as a drive letter並根據需要複製。
這聽起來很有趣:這將如何工作?假設我想將文件發送到FTP服務器127.0.0.1。如果我把它映射到N:/,我會用什麼命令發送文件? – 2013-03-06 21:15:46
'複製file.ext n:\ path \從\ ftp \ root',就像您複製到閃存驅動器或Windows網絡共享一樣。請注意,我從來沒有嘗試通過命令行將FTP服務映射到驅動器盤符,所以我不能說在什麼情況下它會失敗/成功。例如,如果FTP服務器超時連接,文件複製嘗試重新連接,或者你將不得不'net use N:/ delete'和'net use N:\\ hosts_entry \ directory/user:ftpuser ftppass'到重新連接?我不知道。 – rojo 2013-03-06 21:17:21