检查Xcopy是否正常工作

时间:2017-04-30 09:54:57

标签: batch-file copy xcopy

我正在使用一个Batch-File处理我们现在遇到的问题。

背景:

我们有一个应用程序,用户可以在其中创建文件(CSV,JPG和PDF)并将它们发送到SAP用户可以使用的SAP服务器。

应用程序创建的所有传入文件都将转到我们的DMZ-Server,其中Xcopy-Batch将它们切换到下一个服务器以进行持续处理等。

有时看来,批处理文件会将文件从我们DMZ上的路径中删除,然后将它们发送到SAP,但它们永远不会出现。因此它们不再是DMZ上的,也不在我们的SAP服务器中。

我嵌入了代码:

@for /f %%a in ('dir /oD /b \\IP-Source-Address\SAP_Datentransfer\EDI\SendData\*.csv^|findstr /i /l "KHS_KS_"') do @set ks_datei=%%a

@for /f %%a in ('dir /oD /b \\IP-Source-Address\SAP_Datentransfer\EDI\SendData\*.csv^|findstr /i /l "KHS_LS_"') do @set ls_datei=%%a

@for /f %%a in ('dir /oD /b \\IP-Source-Address\SAP_Datentransfer\EDI\SendData\*.csv^|findstr /i /l "KHS_PR_"') do @set pr_datei=%%a

@xcopy /r /y "\\DMZ\CarLoS_App\RcvData\Username\*.csv" "\\IP-Destination-Address\SAP_Datentransfer\RcvData\Username">>C:\CarLosApp\LOG\Username.log
@xcopy /r /y "\\DMZ\CarLoS_App\RcvData\Username\*.pdf" "\\IP-Destination-Address\SAP_Scans\PIC-DE">>C:\LOG\Username.log
@xcopy /r /y "\\DMZ\CarLoS_App\RcvData\Username\*.jpg" "\\IP-Destination-Address\SAP_Scans\PIC-DE">>C:\LOG\Username.log


del /F/S/Q  \\DMZ\CarLoS_App\RcvData\Username\.>>C:\CarLosApp\LOG\Username.log

我希望我解释这个过程足够基本的理解。我的问题:如何在DMZ上删除文件之前检查脚本,从DMZ转移到SAP是否有效?

提前感谢您的支持!

最诚挚的问候, LEGIO

1 个答案:

答案 0 :(得分:0)

使用ROBOCOPY一步移动文件(复制和删除)。我使用了行继续来使代码更容易阅读。

@robocopy "\\DMZ\CarLoS_App\RcvData\Username" ^
          "\\IP-Destination-Address\SAP_Datentransfer\RcvData\Username" ^
          *.csv /mov /is /it /njh /njs /ndl /ns /nc /np /nc >>C:\CarLosApp\LOG\Username.log

@robocopy "\\DMZ\CarLoS_App\RcvData\Username" ^
          "\\IP-Destination-Address\SAP_Scans\PIC-DE" ^
          *.pdf *.jpg /mov /is /it /njh /njs /ndl /ns /nc /np /nc >>C:\LOG\Username.log

MOVE命令不是一个好选择,因为它不支持目标的UNC路径,也不会覆盖只读文件。