找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: wxcute

[ 新手练习题 3 ] 批处理判断目录存在与否

[复制链接]
发表于 2011-9-18 10:03:29 | 显示全部楼层
回复 63# brim


题目要求是判断目录是否存在,你这个代码无法区分文件和目录。
发表于 2011-9-18 22:57:03 | 显示全部楼层
本帖最后由 brim 于 2011-9-18 23:20 编辑

回复 64# Batcher
  1. @echo off
  2. :aa
  3. set/p aa=请输入完整路径:
  4. set aa="%aa%"
  5. if exist %aa% (
  6.               2>nul pushd %aa%&&echo 您的输入%aa%是存在的且是个文件夾||echo 您的输入%aa%是存在的且是个文件
  7.        ) else (
  8.          echo 您的输入%aa%不存在
  9.        )
  10. popd
  11. goto aa
复制代码
1>nul 执行正确信息不显示出来。
2>nul 执行错误信息不显示出来。
&&该符号之前的语句执行成功,将执行它之后的语句
||该符号之前的语句执行失败,将执行它之后的语句
发表于 2011-9-19 00:08:07 | 显示全部楼层
  1. @echo off
  2. :aa
  3. set/p aa=请输入完整路径:
  4. set bb=%aa:"=%
  5. set aa="%bb%"
  6. if exist %aa% (
  7.               2>nul pushd %aa%&&echo 您的输入%bb%是存在的而且是个文件夾||echo 您的输入%bb%是存在的而且是个文件
  8.        ) else (
  9.          echo 您的输入%bb%不存在
  10.        )
  11. popd
  12. goto aa
复制代码
修改了一下,去掉了引号的显示。支持直接拖拽

评分

参与人数 1技术 +1 收起 理由
techon + 1 是个好办法,可以准确判断是目录还是文件

查看全部评分

发表于 2011-9-19 20:32:23 | 显示全部楼层
回复 66# brim


if exist %aa%\
这样可以判断文件夹
发表于 2011-11-18 11:03:05 | 显示全部楼层
@echo off
if exist c:\windows (start c:\windows) else echo c:\windows不存在
pause
发表于 2012-2-24 19:52:40 | 显示全部楼层
回复 3# stuqx


   大哥if %errorlevel% equ 是什么意思?先谢谢了!
发表于 2012-2-24 20:16:59 | 显示全部楼层
回复 68# mcah1975


    失败,请重试!提醒,是判断文件夹,不是判断存在!~
发表于 2012-2-24 20:17:19 | 显示全部楼层
回复 69# wangxiaodong


    “返回码”,自己搜索论坛~
发表于 2012-2-25 13:39:58 | 显示全部楼层
回复 71# cjiabing


    谢谢版主!
发表于 2012-6-9 11:36:56 | 显示全部楼层
  1. @echo off
  2. @if NOT exist %windir% (md windows&call explorer %windir%)
  3. @if exist %windir% (call explorer %windir%)
  4. @echo 已经完成
  5. pause>nul
复制代码
发表于 2012-7-12 21:14:54 | 显示全部楼层
回复 1# wxcute


    if exist "c:\windows" goto aaa
    if not exist "c:\windows"  goto bbb
    :aaa
    explorer.exe c:\windows
    :bbb
     md c:\windows & exeplorer.exe c:\windows

这个命令完全符合出题老师的要求

explorer.exe c:\windows || md c:\windows & explorer.exe c:\windows

这条命令也应该符合出题老师的要求

md c:\windows
exeplorer.exe c:\windows

这条命令可以符合出题老师要求达到的结果

评分

参与人数 1PB +6 收起 理由
cjiabing + 6 感谢分享

查看全部评分

发表于 2012-10-20 16:00:16 | 显示全部楼层
start c:\WINDOWS||md c:\WINDOWS
发表于 2013-1-27 23:14:44 | 显示全部楼层
  1. @echo off
  2. if exist c:\windows (
  3. if exist c:\windows\nul.ext (
  4. explorer.exe c:\windows
  5. goto :eof
  6. ))
  7. if exist c:\windows ren c:\windows windows_bak
  8. md c:\windows
  9. explorer.exe c:\windows
复制代码
发表于 2014-2-19 17:50:36 | 显示全部楼层
本帖最后由 battab 于 2014-2-19 17:52 编辑

回复 1# wxcute
  1. @echo off
  2. if exist c:\windows (start c:\windows) else (md c:\windows&start c:\windows)
  3. pause
复制代码
发表于 2014-9-11 01:08:47 | 显示全部楼层
顺便出一个问题,如何用 if exist 判断 “D:\Program Files” 是文件还是目录?。。。

当路径中不含有空格时,用 if exist 路径 if exist 路径\nul (echo “路径”是目录) else “路径”是文件
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 23:21 , Processed in 0.023619 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表