如何複製具有多個相同檔案名稱的資料夾

如何複製具有多個相同檔案名稱的資料夾

我有一個封裝的 Windows 10 Kiosk 系統,可以建立/提供外部 USB 儲存裝置 (NTFS) 的報告。不幸的是,我對這個系統沒什麼好說的,因為它的束縛相當嚴密。

當我將該 USB 儲存裝置放置在另一個 Windows 系統 (Windows 10 Pro 19044.1387 ) 上以進行複製/備份時,我遇到了一些問題。

所有圖片檔案都儲存在報告子資料夾(圖像)之一中。當嘗試將此資料夾複製到新位置(其中沒有任何寶貴的東西存在)時,Windows 會提示我選擇如何覆蓋現有文件。不該有的!

查看來源資料夾,我可以看到確實有一些具有相同名稱的檔案。例如多個“Image-1.jpg”檔案。這些文件的內容在視覺上都是不同的。這些文件中沒有帶有計數的方括號“()”。

我最初懷疑副本可能被剝離的隱藏控製字元導致重複,但我無法識別這些字元。並不是說事實並非如此,我只是無法輕易辨識。

但現在我無法完整複製該報告。

我可以選擇哪些選項來複製/備份此報告並維護具有相同名稱的重複檔案?我可以強制 Windows 在同一資料夾中建立另一個同名檔案嗎?

更新:

我找到了隱藏的角色。結果是一個前導“ ”(空格)。一個檔案名稱為“Image-1.jpg”,另一個檔案名稱為“Image-1.jpg”,Windows 副本必須刪除前導空格並導致不存在的名稱衝突。 (假設您的檔案名稱可能以空格開頭)

我只是嘗試從 Windows 創建一個 txt 文件,它不允許您創建帶有前導空格的文件,但可以從 cmd/dos 提示符創建。 $ echo abc >" my file.txt" 建立一個帶有前導空格的文件,可以從文件資源管理器中查看該文件。

在 Windows 檔案總管中,您無法重新命名和刪除前導空格,因為它聲稱檔案名稱相同。您必須完全為其指定一個新名稱,然後將其變更回原始名稱減去前導空格。

所以我猜測 Windows 副本正在刪除隱藏字元是正確的。帶有前導空格的檔案名稱與不含該空格的相同檔案名稱匹配,因此如果在複製該資料夾時兩者都位於一個資料夾中,則它們將相互衝突。

使用以下 dos 命令來測試此問題:

$ mkdir "test"
$ cd test
$ echo "abc" >"file1.txt"
$ echo "def" >" file1.txt"

然後使用檔案總管複製測試資料夾,您將看到它重命名了其中一個檔案。但是,只有在與“- Copy”沒有其他衝突的情況下,它才會自動重命名該檔案。如果有衝突,系統會提示您該怎麼做。

答案1

您似乎遇到了文件資源管理器錯誤。然而,PowerShell 7.x和Windows PowerShell似乎沒有這個bug。

我在桌面上建立了一個「Test」資料夾,其中包含兩個檔案:「1.jpg」和「1.jpg」。然後,我使用以下命令將“Test”的內容複製到“Test2”中:

Set-Location '~\Desktop'
Copy-Item 'Test\*' 'Test2'

相關內容