![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-15 12:20 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何判断参数是文件还是目录 |
| 可打印版本 3,031 / 5 |
| 第1楼 wentimao | 发表于 2006-06-03 20:17 |
| 初级用户 发帖 27 积分 110 | |
|
如何判断参数是文件还是目录 在批处理要对传入参数的的文件进行操作,如果文件没有,而目录有,操作时就会出错,所以想判断一下,我的操作是用if exist path\nul,但是长文件名时,判断不出来,应该怎么弄?
给批处理传入一个参数,如何判断它是文件名还是目录名? |
|
| 第2楼 willsort | 发表于 2006-06-03 20:25 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re wentimao:
提问请注明你的系统环境(DOS/98/XP)和脚本环境(COMMAND/CMD),如果将这个参数写道你的用户签名中,可以不用每次都转贴这些数据。 在CMD中判断文件或者目录的存在,一般不再用NUl了。 判断是否存在目录: if exist "%~f1\" ... 判断是否存在文件: if exist "%~f1" if not exist "%~f1\"... |
|
| 第3楼 willsort | 发表于 2006-06-06 19:23 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re wentimao:
关于你在其它主题中提到的同名目录和文件的存在性判断问题,答复如下: 1、在CMD和COMMAND中,极少会出现目录和文件完全同名同路径的情况,这是DOS/Windows的文件系统规则所不允许的;如果真的出现了,那应该属于系统的问题,应该由系统自己解决,而非由我们的代码来兼容这个问题。 2、如果确实想判断“存在目录时同名的文件是否存在”,可以使用(但不推荐)如下的代码: (for /f "usebackq" in ("%~f1") do ...)2>nul |
|
| 第4楼 sohu | 发表于 2010-12-04 15:58 |
| 新手上路 发帖 13 积分 14 | |
Originally posted by willsort at 2006-6-3 20:25: 我想请教:怎么知道自己的脚本环境是COMMAND还是CMD? |
|
| 第5楼 Hanyeguxing | 发表于 2010-12-04 16:28 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
在什么系统下运行?
是在cmd直接运行还是在批处理中运行? |
|
| 第6楼 sohu | 发表于 2010-12-04 17:06 |
| 新手上路 发帖 13 积分 14 | |
Originally posted by Hanyeguxing at 2010-12-4 16:28: 非常感谢你的回复, 我看这些贴都好几年了,我以为。。。。呵呵 终于看到一个在线人了 握手、、、 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |