2017-09-07 8 views
1

誰かが私のWindows Server 2008 R2 Enterpriseから実行するだけのスクリプトファイルを作成してください。複数のIPv6ホストから複数のファイルをダウンロードするためのWinSCPバッチスクリプト

私は、IPv6アドレスが[X25:F0:B2:F314::02][X25:F1:B2:F914::56]などのホストのリストを25のホストのように持っています。そして各ホストから、私は300のファイルをダウンロードする必要がありますrevenue.xmlprodcut_growth.xmlloss.xml .....このように。各ファイルをダウンロードする際に、日付と時刻を追加したいので、ファイルはrevenue_07_09_2017.xmlとして保存されます。

私は以下の手順で試みたが、失敗しました:

cd "c:\Program Files\WinSCP" 
winscp.com /command "open user:[email protected][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:[email protected][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 

を私はバッチファイル上で実行しようとしましたが、助けていません。 いくつかの方法をお勧めします。あなたの助けが高く評価されます。

+0

https://winscp.net/eng/docs/script_upload_file_list#scriptingのように、スクリプトをオンザフライで生成する/コマンドではなく、/スクリプトモードを使用しないでください。putでの置き換えget(および引数の順序) – LotPings

答えて

0

を使用できbatch file with a sub routines

@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:[email protected]%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 


(あなたはまた、それ以外のファイルが互いに上書きされますよう、ホストとターゲットパスを変更したいと思うでしょうが)もう1つの方法はParametrized WinSCP scriptです。

+0

Iより多くのファイルを追加する簡単な方法が追加されました –

関連する問題