Windows
將數千個文件從搜尋結果復製到一個目錄
我的系統上有很多同名的“data.xml”文件,位於不同的目錄中。
一個基本的 Windows 搜尋很容易找到所有這些。我希望能夠對這些進行搜尋,找到它們,然後將它們複製到一個目錄中,以便命名為 data_1.xml 等。
他們都在一個目錄中這一事實就是我的目標。
我嘗試使用 Teracopy 來完成繁重的複制工作,但它沒有正確重命名文件。有沒有這樣的工具?
為了完整起見,這是一個在 CMD shell 中執行的基於 Windows 的解決方案:
@echo off set SRC=c:\source set DST=c:\dest set FN=0 for /F "usebackq delims=" %%i in (`dir /s /b %SRC%\*.xml`) do call :docopy "%%i" goto end :docopy set /A FN=%FN% + 1 echo copy %1 "%DST%\%~n1_%FN%%~x1" :end
@bobber205
find / -name "*.xml" -exec cp {} ./ \;
應該做的工作。
儲存這個腳本說 rename.sh 然後 ./rename.sh
這將重命名它們
#!/bin/sh i=1 for j in `ls *.xml` do orig=$j echo $orig mv $orig orig$i.xml i=`expr $i + 1` done
編輯
另一種複制方式是
find / -name "*.xml" | xargs cp {} /path/to/copy