我想使用批处理文件从我计算机上的文件夹上传文件。
当我调用FTP脚本进行上传时:
FTP -v -i -s:ftp.txt
或
FTP -v -i -s:c:\path\to\file\ftp.txt
这些都不起作用,而是
Error opening script file: ftp.txt
返回。
奇怪的是,在另一台计算机上执行完全相同的脚本没有问题。
使用admin-rights打开批处理文件没有帮助。我正在运行Windows 10。
编辑:ftp.txt如下所示:
open ##host##
##user##
##password##
lcd c:\local\path\
cd path/on/server/
binary
mput "*.xxx"
disconnect
bye
答案 0 :(得分:1)
使用echo >ftp.test
创建一个新的空文件并尝试使用该文件。
如果这会给您带来同样的错误,您需要查看执行环境(查看set
和cmd.exe
的流程所有者)。 ftp
命令也可能作为无权访问该文件的用户运行。
如果您没有收到错误,那么它可能是ftp.txt的文件权限或特殊字符问题。将相同内容重新分类到不同的文件将解决这些问题。请记住不要复制/粘贴,因为您可能会意外复制您试图避免使用的不可见的特殊字符。
答案 1 :(得分:0)
由于有很多观点并且没有解决办法,所以我想补充一下这个对话。我有同样的回答,这不是权限问题。问题也不在于文本文件,因为从技术上讲它从未到达过文本文件。这是文本文件的路径。以下对我来说没有用。即使没有空格使命令行混乱,我也必须在路径两边加上引号。
您尝试过的事情:
FTP -v -i -s:c:\path\to\file\ftp.txt
我尝试过的工作。 (我不需要使用-v
,没有它我的作品)
FTP -i -s:"c:\path\to\file\ftp.txt"
运行文件对我来说很正常。我的问题是尝试通过Windows Task Manager运行批处理文件。不知何故,这导致它以某种方式丢失了文本文件。我希望这对阅读此主题的其他人有所帮助。
答案 2 :(得分:0)
我必须将.txt文件路径放在“开始于”部分中,才能在Windows Task Manager中正常工作。此后没有问题。