Board logo

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

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

如何判断当前目录和上级目录是否存在同名文件
作者: vkill     时间: 2008-2-3 23:12


  Quote:
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

未测试