Board logo

标题: 如何判断当前目录中和上级目录中是否存在同名文件 [打印本页]

作者: pinghu     时间: 2008-2-3 22:58    标题: 如何判断当前目录中和上级目录中是否存在同名文件
如何判断当前目录和上级目录是否存在同名文件

作者: vkill     时间: 2008-2-3 23:12


C:\Documents and Settings>dir ..\
驱动器 C 中的卷没有标签。
卷的序列号是 9873-C159

C:\ 的目录

2008-02-03 20:10 0 AUTOEXEC.BAT
2008-02-03 20:10 0 CONFIG.SYS
2008-02-03 20:21 <DIR> Documents and Settings
2008-02-03 21:08 <DIR> Program Files
2008-02-03 21:45 <DIR> WINDOWS
2008-02-03 20:13 <DIR> wmpub
2 个文件 0 字节
4 个目录 3,947,102,208 可用字节

C:\Documents and Settings>dir
驱动器 C 中的卷没有标签。
卷的序列号是 9873-C159

C:\Documents and Settings 的目录

2008-02-03 20:21 <DIR> .
2008-02-03 20:21 <DIR> ..
2008-02-03 20:21 <DIR> Administrator
2008-02-03 21:42 <DIR> All Users
0 个文件 0 字节
4 个目录 3,947,102,208 可用字节



比较用 fc

作者: pinghu     时间: 2008-2-3 23:41
楼上的回答也叫答案吗,别开玩笑好吗?我求的是批处理和dos方法

作者: pinghu     时间: 2008-2-3 23:42
版主,2楼灌水

作者: fastslz     时间: 2008-2-4 00:08
2楼说法正确的
只是vkill兄现在来也匆匆去也匆匆,没给现成代码而已

作者: 3742668     时间: 2008-2-4 00:27

@echo off
setlocal enabledelayedexpansion

echo 重复的文件:
for /f "delims=" %%i in ('^(dir /b ^& dir /b .. ^) ^| sort') do (
if "%%i"=="!Name!" echo %%i
set "Name=%%i"
)

pause
goto :eof

代码未测试,请酌情自行修改.

作者: pinghu     时间: 2008-2-4 13:21
中国dos联盟高手云集!!!

作者: Chinaderek     时间: 2008-2-4 17:50
是呀,我这个菜鸟在这里混了几天,学了不少,不过还是看不懂,呵呵,看样子要上补习班了.

作者: 3742668     时间: 2008-2-5 11:39
对了,6F的代码未考虑文件名和目录名相同的情况,可以酌情修改dir /a的特色开关,例如dir /a-d /b...

作者: zerocq     时间: 2008-2-5 13:42
在子目录

for /r %a in (*.*) do @if exist ..\%~nxa echo %a

未测试