Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 用于从多个IPv6主机下载多个文件的WinSCP批处理脚本_Batch File_Ftp_Winscp - Fatal编程技术网

Batch file 用于从多个IPv6主机下载多个文件的WinSCP批处理脚本

Batch file 用于从多个IPv6主机下载多个文件的WinSCP批处理脚本,batch-file,ftp,winscp,Batch File,Ftp,Winscp,有人请帮助创建一个脚本文件,以便在我的Windows Server 2008 R2 Enterprise中执行 我有一个IPv6地址为[X25:F0:B2:F314::02],[X25:F1:B2:F914::56]等的主机列表,比如25台主机。我需要从每台主机下载300个文件revenue.xml,prodcut\u growth.xml,loss.xml。。。。。诸如此类。在下载每个文件时,我希望附加日期和时间,以便将文件保存为revenue\u 07\u 09\u 2017.xml 我尝试

有人请帮助创建一个脚本文件,以便在我的Windows Server 2008 R2 Enterprise中执行

我有一个IPv6地址为
[X25:F0:B2:F314::02]
[X25:F1:B2:F914::56]
等的主机列表,比如25台主机。我需要从每台主机下载300个文件
revenue.xml
prodcut\u growth.xml
loss.xml
。。。。。诸如此类。在下载每个文件时,我希望附加日期和时间,以便将文件保存为
revenue\u 07\u 09\u 2017.xml

我尝试了以下步骤,但失败了:

cd "c:\Program Files\WinSCP"
winscp.com /command "open user:password@[X25:F0:B2:F314::02]" get "/home/user/revenue.xml" "C:\downloaded\revenue.xml.%TIMESTAMP#yyyymmddhhnnss%"
get "/home/user/loss.xml" "C:\downloaded\loss.xml.%TIMESTAMP#yyyymmddhhnnss%""exit"
#Second host starts here
winscp.com /command "open user:password@[X25:F1:B2:F914::56]" get "/home/user/revenue.xml" "C:\downloaded\revenue.xml.%TIMESTAMP#yyyymmddhhnnss%"
get "/home/user/loss.xml" "C:\downloaded\loss.xml.%TIMESTAMP#yyyymmddhhnnss%""exit"
exit
我试图执行上面的批处理文件,但没有帮助。 请提出一些方法。非常感谢您的帮助。

您可以使用:

(尽管您还需要修改主机的目标路径,否则文件将相互覆盖)



另一个选项是使用。

不要使用/command,而是使用/script模式动态生成脚本,如用get替换put(以及参数顺序)中所述。我添加了一种更简单的方法来添加更多文件
@echo off

call :download [X25:F0:B2:F314::02]
call :download [X25:F1:B2:F914::56]
call :download ...

exit /b

:download
echo open ftp://username:password@%1/ > script.tmp

call :addfile revenue.xml
call :addfile loss.xml
call :addfile ...

echo exit >> script.tmp
"C:\Program Files (x86)\WinSCP\winscp.com" /script=script.tmp
del script.tmp
exit /b

:addfile
echo get "/home/user/%1" "C:\downloaded\%1.%%TIMESTAMP#yyyymmddhhnnss%%" >> script.tmp
exit /b