Windows

將數千個文件從搜尋結果復製到一個目錄

  • December 29, 2013

我的系統上有很多同名的“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

引用自:https://serverfault.com/questions/245907