假設有一A目錄,底下分別有A1,A2,A3,A4....的子目錄,而各子目錄底下都有一個檔案,請問要如何把A1,A2,A3,A4....下的檔案全部複製到B目錄,但不建立A1,A2,A3,A4....的目錄結構。
使用xcopy /s是會在B底下同步建立A1,A2,A3,A4....等目錄,故不適用。
擬答1:
- @echo off
- set temp_file=4892346928364.txt
- if exist %TEMP%\%temp_file% echo 卡家雖小....
- rem 以上是隨便加的, 以下才是主要功能....
- dir /a-d /b /s A目錄 > %temp_file%
- for /F "delims=''" %%f in (%temp_file%) do copy "%%f" B目錄
- rem 注意幾點:
- rem 1. 批次檔內, 變數的 % 或 %%
- rem 2. for /F 功能在 XP 或 Server 2003 測試 OK , 其他版本不保證.
- rem 3. for /F 要加上 "delims=''" 避免目錄或檔名有空白造成異常.
- rem 4. 實作時 A目錄 跟 B目錄 要自己改名, 另外要注意同名問題.
- rem 5. 如果當備份用, 要注意時差引起的問題. 例如隔天複製時檔案已經存在的異常.
- rem 6. 這方法需要有暫存區放一個檔.
- rem 7. 只能滿足您題意需要, 無法處理衍生的問題, 例如但不限於: B目錄 空間不足.
- rem 8. 本人無業中, 歡迎捐款, 但請勿拍打或餵食.
- set temp_file=
擬答2:
- @for /R A目錄 %%f in (*) do @copy "%%f" B目錄
請問要如何以DOS command或WScript把子目錄下的檔案,全部複製至指定目錄(但不含目錄結構)