[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]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)。

  1. Dir C:\ /a:d /b 2>nul|Findstr /i "^Windows$">nul||md C:\Windows&Explorer C:\Windows
复制代码
或者
  1. (If Not Exist C:\Windows\nul md C:\Windows)&Explorer C:\Windows
复制代码
最直接的
  1. md C:\Windows 2>nul&Explorer C:\Windows
复制代码


[ 本帖最后由 yslyxqysl 于 2009-5-30 21:27 编辑 ]

TOP

  1. @echo off
  2. cd /d c:\windows
  3. if %errorlevel% equ 1 (md c:\windows)
  4. explorer c:\windows
复制代码
这样应该可以了吧
1

评分人数

    • wxcute: 首个答对的给满分。很好。PB + 5

TOP

  1. @echo off
  2. if exist c:\windows (
  3. explorer c:\windows
  4. ) else (
  5. md c:\windows)
  6. pause >nul
复制代码

[ 本帖最后由 flyzr 于 2009-6-5 13:27 编辑 ]
1

评分人数

    • wxcute: 很好,值得鼓励。PB + 4

TOP

  1. @echo off
  2. explorer.exe c:\windows||md c:\windows
复制代码

[ 本帖最后由 keen 于 2009-6-5 17:19 编辑 ]
1

评分人数

    • wxcute: 简短的代码中突显思维的独特。唯缺一个建后 ...PB + 3
(*^_^*)

TOP

  1. @echo off
  2. if exist c:\windows (goto open) else (
  3. md c:\windows
  4.   )
  5. :open
  6. start c:\windows
  7. exit
复制代码
1

评分人数

    • wxcute: 很好,比较完美。PB + 5

TOP

  1. @echo off
  2. cd c:\windows 2>nul
  3. if errorlevel 1 ( del c:\windows 2>nul & md c:\windows )
  4. explorer c:\windows
  5. pause>nul
复制代码
这个如何?
1

评分人数

    • wxcute: del c:\windows,这句比较危险。PB + 4

TOP

  1. @echo off
  2. dir /ad /b c:\ |findstr "windows" &&explorer c:\windows ||md c:\windows
复制代码
请问一下为什么我这段代码直接在命令行下运行没有异常
放到bat里执行就会出现一点异常,异常就是如果存在windows 它还是会去执行 md c:\windows

[ 本帖最后由 quake_wu 于 2009-6-12 10:32 编辑 ]
1

评分人数

    • wxcute: 是新方法,但问题比较多。 一、如果WINDOW ...PB + 3

TOP

@echo off
if exist c:windows (start c:windows) else (md c:windows)
pause>nul
1

评分人数

    • wxcute: 如果C:\WINDOWS是个文件系统办呢? 还有别 ...PB + 1

TOP

  1. @echo off
  2. for %%i in ("c:\windows") do (
  3. if exist %%i (explorer %%i) else (
  4. md %%i&&explorer %%i
  5. ))
  6. pause
复制代码



谢谢LZ指导!!

[ 本帖最后由 lee 于 2009-8-4 14:11 编辑 ]
1

评分人数

    • wxcute: 符号 | 在这儿并不起作用。PB + 4

TOP

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

[ 本帖最后由 nopr 于 2009-8-3 10:25 编辑 ]
1

评分人数

    • wxcute: 不错。就是有点灵异:先有WINDOWS目录还是先 ...PB + 3

TOP

简单点的

@echo off
cd \&md windows 2>nul&start windows
goto :eof

TOP

  1. @echo off
  2. dir c:\windows>nul
  3. if  errorlevel 1 ( echo 此目录不存在将建立&md c:\windows\ &explorer c:\windows)   else  (echo 存在此目录&explorer c:\windows)  
  4. pause>nul
复制代码

请楼主检查

[ 本帖最后由 hs4814 于 2009-8-9 21:31 编辑 ]
1

评分人数

TOP

原帖由 quake_wu 于 2009-6-12 10:30 发表
@echo off
dir /ad /b c:\ |findstr "windows" &&explorer c:\windows ||md c:\windows请问一下为什么我这段代码直接在命令行下运行没有异常
放到bat里执行就会出现一点异常,异常就是如果存在windows 它还是会去执 ...


感谢wxcute版主的指导
我重新调整了code
  1. dir /ad /b c:\ |findstr /IX "windows" &&start explorer c:\windows ||md c:\windows
复制代码
1

评分人数

    • wxcute: 还是有一个问题,就是如果不存在目录,则只 ...PB + 1

TOP

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

[ 本帖最后由 wayaoqiang 于 2009-8-17 21:01 编辑 ]
1

评分人数

    • wxcute: 请将代码用 CODE 闭合。参阅: http://bbs ...PB + 1

TOP

返回列表