我正在编写*.bat
文件(Windows),其中我使用FTP命令在本地计算机上获取远程文件。远程目录包含一个archive
子目录,我想在本地计算机上下载文件后将其移动。
*.bat
文件中的我的脚本:
ftp -v -i -s:GET_FILES_FTP.txt
GET_FILES_FTP.txt
中的我的脚本:
open example.com
username
password
lcd S:\
lcd repository/files
mget *.txt
rename *.txt archive/
disconnect
bye
请注意,主机名,用户名和密码不是我真正使用的那些!
可以在本地计算机上正确下载TXT文件。
问题是rename *.txt archive/
未被解释且文件未移至archive
文件。我在命令窗口中收到directory not found
错误消息。我找不到比doc更好的额外信息。
关于如何移动文件的任何想法?
答案 0 :(得分:0)
Windows ftp.exe
的{{3}}不支持通配符。
您必须根据下载文件列表动态生成脚本文件,并为每个文件使用单独的rename
命令。
或者在重命名/移动时使用支持通配符的其他命令行FTP客户端。
例如,对于rename
command,批处理文件将类似于:
winscp.com /log=winscp.log /command ^
"open ftp://username:password@example.com" ^
"lcd S:\" ^
"lcd repository\files" ^
"get *.txt" ^
"mv *.txt archive/" ^
"exit"
详见:
(我是WinSCP的作者)