Board logo

标题: [求助]对文件夹中内容比较后进行操作 [打印本页]

作者: hamihaha     时间: 2009-9-4 03:40    标题: [求助]对文件夹中内容比较后进行操作

现有A B C 3个文件夹,

[ Last edited by hamihaha on 2009-9-7 at 03:58 ]
作者: hamihaha     时间: 2009-9-4 04:54


[ Last edited by hamihaha on 2009-9-7 at 03:58 ]
作者: tireless     时间: 2009-9-4 06:01
是对比文件名还是文件内容?
作者: hamihaha     时间: 2009-9-4 06:45
比较文件名,档案类型为TXT档。
作者: tireless     时间: 2009-9-4 07:03

@echo off
set "A=A"
set "B=B"
set "C=C"

for %%a in ("%A%" "%B%") do if not exist %%a\*.txt exit /b
for /f "delims=" %%a in ('dir /a-d/b "%A%\*.txt"') do if not exist "%B%\%%a" exit /b
for /f "delims=" %%a in ('dir /a-d/b "%B%\*.txt"') do if not exist "%A%\%%a" exit /b
del /a /f "%A%\*.txt"
move "%B%\*" "%C%" >nul
pause
[ Last edited by tireless on 2009-9-4 at 07:23 ]
作者: hamihaha     时间: 2009-9-7 03:57
for %%a in ("%A%" "%B%") do if not exist %%a\*.txt exit /b
for /f "delims=" %%a in ('dir /a-d/b "%A%\*.txt"') do if not exist "%B%\%%a" exit /b
for /f "delims=" %%a in ('dir /a-d/b "%B%\*.txt"') do if not exist "%A%\%%a" exit /b

能解释下,上面3段话吗?
作者: tireless     时间: 2009-9-7 05:27
:: 如果文件夹 A 或 B 下不存在 *.txt,就退出批处理。
for %%a in ("%A%" "%B%") do if not exist %%a\*.txt exit /b

:: 列出文件夹 A 下的文件名,判断文件夹 B 下是否存在该文件,不存在就退出批处理。
for /f "delims=" %%a in ('dir /a-d/b "%A%\*.txt"') do if not exist "%B%\%%a" exit /b

:: 列出文件夹 B 下的文件名,判断文件夹 A 下是否存在该文件,不存在就退出批处理。
for /f "delims=" %%a in ('dir /a-d/b "%B%\*.txt"') do if not exist "%A%\%%a" exit /b