比如說有A/B/C三個文件夾,每個文件夾裏分別有 1.dwg/2.dwg/3.dwg這三個文件。 我現在有一份最新的 1.dwg/2.dwg/3.dwg這三個文件,需要替換掉原來的 A/B/C三個文件夾裏的文件,該怎麼做? 簡單的複製肯定不行,實際上有上千個文件夾和文件需要替換,請大神指點。
用Total Commander來做啊。
linux 下面超簡單的事情,你可以用 wsl 或者其他提供 linux 操作環境的命令行程序來解決。
不過我建議你,這麼大量的重複做文件覆蓋,你肯定目錄規劃有問題。
有一個批量文件夾一鍵重命名工具很簡單就可以解決你的問題。
2.還有一個拖把更名器也是很方便的,它可以直接批量對文件夾更名,包括後綴也可以修改哦。
鏈接:https://pan.baidu.com/s/133MIJGRguxDdjQEPaC0ukg
提取碼:pmyk
希望對你有幫助~~
寫個bat就行了
dir遍歷2個文件夾,文件名相同的就複製一遍。
效率可能差點,但是不用手動了。
一句話代碼(超級小白級)
cmd /K (cd /d "複製目錄" for /F "delims=" %a in (dir /ad /b) do (copy /Y "文件目錄*" "%~a"))
自行修改目錄路徑。
複製目錄 指文件夾所在的目錄。示例:
D:工作目錄 的內容為 文件夾1文件夾2文件夾3...
D:工作目錄 的內容為
文件夾1
文件目錄 指文件所在的目錄。示例:
D:工作文件 的內容為文件1.txt文件2.doc文件3...
D:工作文件 的內容為
直接打開 我的電腦/此電腦,直接粘貼代碼,完事!
示例:
cmd /K (cd /d "D:工作目錄" for /F "delims=" %a in (dir /ad /b) do (copy /Y "D:工作文件*" "%~a")
命令解釋:將 文件目錄 下的所有文件複製到 複製目錄 下的所有文件夾內
...
一句話代碼(命令提示符)
cd /d "複製目錄" for /F "delims=" %a in (dir /ad /b) do (copy /Y "文件目錄*" "%~a")
win+R,輸入cmd,確認,粘貼以上代碼,enter
bat腳本版:
以下代碼保存為txt,然後修改擴展名為cmd即可運行。
修改 加粗顯示 部分即可。
@ echo offset 文件目錄=D:工作目錄(示範)rem 上方輸入待複製文件所在文件夾。該文件夾下的所有文件均會被複制(不含子目錄)set 複製目錄=D:工作文件(示範)rem 上方輸入待複製文件夾所在目錄。"文件"目錄下的所有文件(不含子目錄),均會複製到"複製目錄"下的所有一級子文件夾內。echo 正在複製,請稍等。cd /d "%複製目錄%" for /F "delims=" %%a in (dir /ad /b) do (copy /Y "%文件目錄%*" "%%~a")rem 將 文件目錄 下的所有文件複製到 複製目錄 下的所有文件夾內。echo 複製完成pause&>nul
@ echo off
有上千個文件和上千個文件夾需要替換,不知道怎樣才能降低錯誤 完整的覆蓋到
用VBA的Filecopy方法解決,假如文件夾結構是這樣的:
新建個excel表格,alt+F11,新建模塊,把代碼粘貼進去。
Sub 提取文件信息() Application.DisplayAlerts = False Dim arr(1 To 2000) As String Dim f, i, k, f2, f3, x *******遍歷獲取文件夾******* arr(1) = ThisWorkbook.Path "" i = 1: k = 1 Do While i &< UBound(arr) If arr(i) = "" Then Exit Do f = Dir(arr(i), vbDirectory) Do If InStr(f, ".") = 0 And f & "" Then k = k + 1 arr(k) = arr(i) f "" End If f = Dir Loop Until f = "" i = i + 1 Loop *******下面是替換******* For x = 2 To UBound(arr) FileCopy arr(1) "A.docx", arr(x) "A.docx" FileCopy arr(1) "B.docx", arr(x) "B.docx" FileCopy arr(1) "C.docx", arr(x) "C.docx" Next x Application.DisplayAlerts = True End Sub