批处理文件从目录和子目录中拾取文件

时间:2012-12-20 14:14:56

标签: batch-file batch-processing

我有一个批处理文件,它将所有CSV文件的文件名附加到所有文件名。我只希望拾取一个目录中的CSV文件,而不是子目录。它似乎正在遍历所有子目录。

我目前在批处理文件中有这个代码

:: copy files
For /f "delims=" %%a in ('Dir /A:-D /b /s "%LOCALDIR%"*.csv 2^>nul') do If exist "%%a" (
COPY "%%a" "%LOCALDIR%%dtt%-%%~na.csv"
DEL "%%a"
)

我已经尝试删除代码中的/ s,但是在我想查找的目录中没有拾取任何文件。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

为什么不使用简单的循环?

pushd %LOCALDIR%
for %%A in (*.csv) do ren "%%~A" "%dtt%-%%~A"
popd

或者是一个班轮

for %%A in (%LOCALDIR%\*.csv) do ren "%%~A" "%dtt%-%%~A"

如果路径中有空格,请记住使用usebackq选项。