2013-03-08 32 views

回答

1

我最近有類似的要求,我寫了一個腳本來做到這一點。它不僅限於同名文件或一級深層目錄結構,但您可以使用它,我認爲它應該符合您的需求。它採用完整的文件名,去除當前路徑前綴並將任何反斜槓轉換爲下劃線,從而將目錄結構「壓扁」成文件名。你只需要指定一個目標目錄和一個文件掩碼來操作腳本(第二行和第三行)。

@ECHO OFF 
SET filemask=*.gif 
SET target_path=out 
SETLOCAL EnableDelayedExpansion 
SET current_path=%CD%\ 
IF NOT EXIST "%target_path%" MKDIR "%target_path%" 
FOR /F "tokens=*" %%G IN ('DIR /B /S %filemask%') DO (
    SET file=%%G 
    :: strip current path 
    SET file_new=!file:%current_path%=! 
    :: convert backslashes to underscores 
    SET file_new=!file_new:\=_! 
    :: copy file 
    COPY %%G %target_path%\!file_new! >nul 
) 
ENDLOCAL 
相關問題