我有一個 *otf 文件,我想將其複製到父資料夾的所有子目錄中。這就是我所嘗試的。
for /R %%x in (.) do copy "file.otf" "%%x"
這在大多數情況下都有效,但也會在父資料夾中留下一個副本。我想對此進行修復,以便批次僅複製到所有子目錄中。
答案1
我無法讓您的程式碼在 Microsoft Windows [版本 10.0.17134.648] 上運作。以下代碼有效。
測試:
for /f "tokens=*" %%x in ('dir /b /s /ad "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\"') do echo copy /y "file.otf" to "%%x\"
複製:
for /f "tokens=*" %%x in ('dir /b /s /ad "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\"') do copy /y "file.otf" "%%x\"
從子目錄中刪除 file.otf:
for /f "tokens=*" %%x in ('dir /b /s /ad "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\"') do del /q "%%x\file.otf"
tokens=* 處理路徑/檔案名稱中的空格
"tokens=*"
dir /b /s /ad 將檔案複製到目錄而不是檔案。如果沒有 /ad file.otr 將覆蓋目錄中的所有檔案。如果您擔心,請使用 copy 而不是 copy /y。
dir /b /s /ad
copy /y 無需請求許可即可覆蓋 file.otr。在您對它的工作效果感到滿意之前,您必須嘗試幾次。
copy /y
為什麼不直接刪除父目錄中的 file.otr ,而不是「修復」程式碼呢?
del /q file.otr