部分未知的目錄我試圖創建一個批處理文件,將目錄複製到另一個目錄但是,我想複製的目錄也有一部分名稱隨機生成即「jibberish.Directory1」。 有沒有辦法做到這一點?批處理文件xcopy到一個點(。)在
我嘗試類似:
XCOPY "%~dp0DATA\test" "%APPDATA%\Application1\Directory\*Directory1\" /E /C /R /I /K /Y
但總失敗。任何幫助將不勝感激:)謝謝!
部分未知的目錄我試圖創建一個批處理文件,將目錄複製到另一個目錄但是,我想複製的目錄也有一部分名稱隨機生成即「jibberish.Directory1」。 有沒有辦法做到這一點?批處理文件xcopy到一個點(。)在
我嘗試類似:
XCOPY "%~dp0DATA\test" "%APPDATA%\Application1\Directory\*Directory1\" /E /C /R /I /K /Y
但總失敗。任何幫助將不勝感激:)謝謝!
xcopy不支持目錄名稱中的通配符。因此,對於迴路另外需要用於此任務是如下:
在文件夾C:\Temp
有批處理文件DuplicateFolder.bat
用下面的代碼。
要複製的文件夾在批處理文件的目錄中是DATA\test
。
C:\Temp\DATA\test
包含:
所有這些子文件夾和文件應該被複制到%APPDATA%\Application1\Directory
每個子文件夾以點後的數字結束。
%APPDATA%\Application1\Directory
包含例如:
最後一個文件夾應該被忽略,因爲它在末尾不包含點和數字。
結果應該是例如用於第一子文件夾Folder abc.1
:
的DuplicateFolder.bat
代碼是:
@echo off
set "SourceFolder=%~dp0DATA\test"
for /D %%F in ("%APPDATA%\Application1\Directory\*") do (
if not "%%~xF" == "" %SystemRoot%\System32\xcopy.exe "%SourceFolder%" "%%~F" /E /C /Q /R /I /K /Y >nul
)
set "SourceFolder="
這個批處理文件只是檢查,如果文件夾名稱包含一個圓點任何檢查點後的字符串 - 在「文件擴展名」與引用%%~xF
- 確實是一個數字。這個非常簡單的測試非常快。
有關使用的命令和參數和特殊循環變量引用的解釋細節打開命令提示符窗口中,執行for /?
,並閱讀幫助輸出在控制檯窗口此命令。
你先生,是英雄!這工作完美,我沒有意識到你不能在我嘗試和沒有看過FOR的方式使用xcopy的通配符。你真的已經擴大了我的知識面,並且拯救了我許多小時的失敗咆哮錯誤的樹。感謝您抽出時間來幫助解決這個問題,我真的很感激它^ _ ^ – Raine
選擇目標文件夾的標準是什麼?如果您使用通配符,則可能會有多個匹配項。它應該是最近創建的,還是最近使用過的或......? – user1016274
一個進程創建100個文件夾,文件夾命名結構爲NAME.ID。該ID很容易,對於所有100個文件夾,從1到100,但名稱各不相同。我需要添加一個目錄(包含設置)到所有的NAME.ID文件夾,但是不想複製名稱,但可以將行復制到excel或其他東西,並複製所有100個升序數字..希望這有助於解釋更好一點 – Raine