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

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

[ 新手练习题 3 ] 判断目录存在与否
判断 C:\ 盘是否存在 WINDOWS 目录。如果存在,则用资源管理器打开目录。
不存在则创建此目录并打开。

目的:掌握判断目录存在与否的方法,学会调用程序打开目录。

要求:方法不限。

评分:代码可读性 1 分;
   首个新方法 4 分,第二个 3 分,依次类推,最少 2 分;
   一人可多种方法,新方法追加 2 分,已经出现过的方法追加 1 分。
批处理之家论坛官方 QQ 群 :【当前人数/人数上限】【2009-07-08】
群①:43011867(181/200);群②:(暂缺数据);群③:66165582(120/200)。

判断 C:\ 盘是否存在 WINDOWS 目录。如果存在,则用资源管理器打开目录。
不存在则创建此目录并打开。
  1. @echo off
  2. set path="C:\windows"
  3. if exist %path% explorer %path%
  4. if not exist %path% md %path%
  5. start explorer %path%
复制代码

TOP

  1. @echo off
  2. set specfolder=%1
  3. if not exist "%specfolder%" (
  4. md "%specfolder%"
  5. )
  6. start "%specfolder%" "%specfolder%"
复制代码

TOP

@echo off
if exist c:\windows explorer c:\windows else md c:\windows

TOP

@echo off
if exist D:\Windows (
   explorer D:\Windows
) else (
    md D:\Windows
)
pause

TOP

  1. @echo off
  2. set diretory=c:\windows
  3. if exist %diretory% (explorer %diretory%) else (md %diretory%&explorer %diretory%)
复制代码

TOP

本帖最后由 wutarnow 于 2015-10-20 15:46 编辑
  1. @echo off
  2. md c:\windows 2>nul & start c:\windows\
复制代码

TOP

@echo off
set str=c:\windows  
if exist %str% (start explorer.exe) else (cd /d c:\&md windows)
pause

TOP

方法一
  1. if exist c:\windows\ (
  2. echo c:\windows存在
  3. start c:\windows\ ) else (
  4. echo c:\windows\不存在
  5. echo 开始创建c:\windows\
  6. md c:\windows\
  7. start c:\windows\ )
  8. pause>nul
复制代码
方法二
  1. cd /d d:\windows&&echo 目录存在||md d:\windows
  2. explorer d:\windows
  3. pause>nul
复制代码

TOP

回复 80# zzw8822


两个建议

1. 在不确定 c:\windows 是否存在的情况下就直接 cd /d 没啥意义
2. 两个 if 命令可以合并成一个 if ... else ...
  1. if exist c:\windows\ (
  2.     explorer c:\windows
  3. ) else (
  4.     md c:\windows
  5. )
复制代码
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

  1. @echo off
  2. cd /d c:\windows
  3. if exist c:\windows explorer c:\windows
  4. if not exist c:\window  md c:\windows
复制代码

TOP

试试
  1. @echo off
  2. if not exist F:\windows\ (md F:\windows\&start F:\windows\) else
  3. (explorer F:\windows\)[color=LemonChiffon][/color]
复制代码

TOP

顺便出一个问题,如何用 if exist 判断 “D:\Program Files” 是文件还是目录?。。。

当路径中不含有空格时,用 if exist 路径 if exist 路径\nul (echo “路径”是目录) else “路径”是文件
解释执行的脚本语言与编译语言还是有很大差别的。。。

TOP

本帖最后由 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
复制代码
学习中

TOP

  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
复制代码

TOP

返回列表