簡體   English   中英

如果未復制任何文件,則在復制末尾產生錯誤

[英]Generate error at the end of the copy if any files are not copied

我有一個批處理網絡中某些文件的副本,該副本會根據目標文件夾中已經存在的最新情況更新以前的文件,但是如果正在使用任何文件,系統不會在以下位置顯示錯誤消息最后只在您嘗試更新文件的那一刻。

目前,我不想解決正在使用的文件問題,如果更新某些文件時出現錯誤,我只希望命令僅在副本末尾報告。

我把條件放在最后,如果"%errorlevel%" == "0"但如果副本中間有錯誤,則此條件不起作用。

我的命令:

xcopy "C:\origin\." "C:\destination\" /c /d /e /h /i /k /r /y

我為您建議的是遍歷該文件夾並檢查每個文件是否正在使用中,然后可以將該文件的名稱寫入某種類型的日志中,也許是一個.txt文件以供日后閱讀以顯示無法顯示的內容。覆蓋。

2>nul (
  >>FILE.EXT (call )
) && (echo file is not locked) || (echo file is locked)

我在StackOverflow上找到的這段代碼(dbenham應該為此付出一切功勞)可以用於檢查文件是否被鎖定。 用您的文件名替換FILE.EXT,最好是循環執行以方便地檢查每個文件,如果文件被鎖定,則將文件名echo顯到一個(臨時).txt文件,並在完成后循環遍歷該文本文件以列出結果。

這樣做的另一個好處是,如果您在嘗試覆蓋之前檢查正在使用的文件,則可以跳過您知道無法寫入的文件,從而為每個文件節省了一些時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM