从CSV文件中的文件夹批量清空子文件夹

时间:2014-10-10 15:56:14

标签: batch-file cmd

我有一个很长的文件夹部分名称列表(每个部分对于特定文件夹是唯一的);我要做的是写一个批处理文件来浏览每个文件夹中的每个子文件夹,将文件拉到该文件夹​​的根目录,如果有重复,则替换文件(我们有很多重复的文件)希望删除)。

我使用了几个批处理文件来移动这些文件夹并执行其他操作,我只是无法让代码用于清空子文件夹。

批处理文件1(访问CSV,调用另一批处理工作):

@echo off
FOR /F "tokens=1,3 delims=," %%G IN (Pt1Test.csv) DO call Empty1.bat %%G

批处理文件2(应该清空子文件夹,然后移动到列表中的下一个文件夹):

@echo off
set _Uname=%1
for /f "eol=: delims=" %%F in ('dir /b^|find "%_Uname%"') do <NEXT BIT I CAN'T FIGURE OUT>

我遇到的问题是获取命令在主文件夹中拉

我知道这个代码在我把它直接输入DOS时有效:

for /r %f in (*) do @move /y "%f" 

但我不能拥有for,do,for,do和我不想为5000个左右的文件夹输入那个我想删除重复的文件夹。

感谢您的帮助!

泰勒

1 个答案:

答案 0 :(得分:0)

有没有理由让1,3?您没有在示例中使用3(%% H)。

这个怎么样?只需在第二个命令之前切换到每个目录并返回。

@echo off
FOR /F "tokens=1,3 delims=," %%G IN (Pt1Test.csv) DO (
    pushd *%%G*
    for /r %%a in (*) do @move /y "%%a" 
    popd
)