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

[安全相关] 批处理判断输入类型

[复制链接]
发表于 2010-10-9 20:45:11 | 显示全部楼层 |阅读模式
分享一个判断输入类型的工具,可能在某些自由输入类型的程序中用到!~
  1. @echo off
  2. :start
  3. cls
  4. echo.
  5. echo    可以粗略判断输入的是文件、文件夹、txt文件、http网址、字符串、选项等.
  6. echo    可以进一步修改判断输入的是否某种类型文件。
  7. echo    不支持特殊符号。
  8. echo    可直接用到其它代码中。
  9. echo    可以拖入文件夹和文件。
  10. echo    可使用Url地址。
  11. echo    可直接输入字符。
  12. echo    退出 Q
  13. echo.
  14. echo.
  15. set /p "inf=输入:"
  16. echo.
  17. echo.
  18. if not defined inf echo 假设没有输入
  19. ::判断没有输入,同if "%inf%"==""
  20. if exist %inf% if /I "!inf:~-4,4!"==".txt" (echo 输入的是 TXT 文件)
  21. ::判断txt文件
  22. if /i "!inf:~0,4!"=="http" goto b
  23. ::判断http网址
  24. if /i %inf%==Q goto :eof
  25. ::判断选项
  26. if exist %inf% (if exist %inf%\nul (echo 【%inf%】是文件夹!) else (echo 【%inf%】 是文件!)) else (echo 【%inf%】 为字符串)
  27. ::if exist %inf% (if exist %inf% dir /a:d %inf%>nul 2>nul&&echo 【%inf%】是文件夹!||echo 【%inf%】 是文件!) else (echo 【%inf%】 为字符串)
  28. ::判断是否文件与字符串
  29. echo.
  30. echo.
  31. pause
  32. goto start
复制代码

[ 本帖最后由 cjiabing 于 2010-10-10 00:08 编辑 ]
发表于 2010-10-9 22:46:19 | 显示全部楼层
  1. if exist %inf%\
复制代码
这样就可以判断文件夹了吧?
 楼主| 发表于 2010-10-10 00:03:57 | 显示全部楼层

回复 2楼 的帖子

我见过一个:
  1. if exist %inf%\nul echo 文件夹||echo 是文件
复制代码
可在我应用中没成功,不懂是执行环境问题还是其它问题,所以我只好用DIR
发表于 2010-10-10 00:59:07 | 显示全部楼层
你见过的那个有那么明显的错误都没看出来啊,不应该是||而是else
 楼主| 发表于 2010-10-10 12:27:13 | 显示全部楼层

回复 4楼 的帖子

见了啊,呵呵,疏忽,但在使用中我用的是“if exist %inf%\nul”,后面的没用到
发表于 2010-10-21 23:08:23 | 显示全部楼层
这个其实用findstr来做更好一点..
实际就是正则表达式..这是它的强项..
 楼主| 发表于 2010-10-21 23:30:10 | 显示全部楼层
怎么做呢?
不懂正则。
findstr是个费时间的东东,而且不够精确。
发表于 2010-10-22 00:03:02 | 显示全部楼层

回复 7楼 的帖子

正则表达式简介
http://bbs.bathome.net/thread-4485-1-1.html

批处理findstr命令正则表达式的基本用法
http://bbs.bathome.net/thread-24-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 00:11 , Processed in 0.018430 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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