首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VBA >

求BAT语句,两个文件夹,要求删除一个文件夹与另一个文件夹上同名文件的文件

2012-12-18 
求BAT语句,两个文件夹,要求删除一个文件夹与另一个文件夹下同名文件的文件。本帖最后由 xt030 于 2012-10-3

求BAT语句,两个文件夹,要求删除一个文件夹与另一个文件夹下同名文件的文件。
本帖最后由 xt030 于 2012-10-30 20:55:00 编辑 例如:A文件夹 a.txt,b.txt,c.txt

B文件夹 c.txt,d.txt

要求对A文件夹进行,删除A、B文件夹同时存在的文件的操作

求BAT语句?
[最优解释]
不会编程,如果文件数量比较多的时候,用以下方法可以。

在cmd命令行下建立2个CSV文件

dir c:\a /b >>a.csv
dir c:\b /b >>b.csv

然后分别用EXCEL打开两个文件。然后用VLOOKUP函数找出两个共有的文件名。

后面两列分别写公式="del c:\a" & 文件名单元格,="del c:\b" & 文件名单元格。然后下拉。

分别将两列粘到2个文本文件中,扩展名为.bat。运行就删除了。


[其他解释]
 ::
:: +-----------------------------------------------+ ::
::BAT不能放置在目录A及其子文件夹里面

setlocal enabledelayedexpansion

::在这里设置A、B文件夹路径
::假设A为“D:\123 456”
::假设B为“E:\15641 dsfsd”
set "a=D:\123 456"
set "b=E:\15641 dsfsd"

::比对文件
for /f "delims=" %%a in ('dir /s/b/a-d "!a!"') do (
set "wkd=%%a"
set "wkd=!wkd:%a%=!"
if not exist "!b!\!wkd!" echo.删除%%a &del /a/f/q %%~sa
)

::比对目录
for /f "delims=" %%a in ('dir /s/b/ad "!a!"') do (
set "wkd=%%a"
set "wkd=!wkd:%a%=!"
if not exist "!b!\!wkd!" echo.删除%%a &rd /s/q %%~sa
)
set /p=处理完毕,<nul&pause






[其他解释]
自己找到答案了


@Echo off
:: +-----------------------------------------------+ ::
:: 
[其他解释]
 BAT-GO团员【wkdxz】 At:2010-07-23 11:25:03 

热点排行