标题: %~$path:I 用法求救!(已结)
[打印本页]
作者: hlowd
时间: 2008-2-1 23:10
标题: %~$path:I 用法求救!(已结)
我们知道%~$path:I 如果找不到文件,就会返回空串,但是下边的程序寻找不存在的文件时明明返回空串,为什么不是""呢?难道“”不表示空串么?
1.bat
=============================
setlocal ENABLEDELAYEDEXPANSION
set var=c:\
set result=%~$var:1
echo gggggg!result!kkkk
if !result! equ "" echo 文件找不到
pause
=============================
如果用一个C:\不存在的文件做为参数,比如:1.bat 11.txt,因为找不到该文件,应该返回空串,echo gggggg!result!kkkk显示正常,而倒数第2行的判断却不会运行,为什么!
求高手解答
[
Last edited by hlowd on 2008-2-1 at 11:46 PM ]
作者: slore
时间: 2008-2-1 23:27
%~$path:I
不清楚……
为什么不用 if exist 判断存在性呢?
if "!result!" == "" echo 文件找不到
作者: hlowd
时间: 2008-2-1 23:45
标题: 感谢!
感谢slore兄的指点,问题解决!小弟只是想弄清楚%~$path:I这个变量替换的用法,好给别人讲清楚,呵呵。
那一段程序只是测试小程序,见笑了!
再次感谢兄的点拨。
作者: zcnvnv
时间: 2008-2-2 17:04
"!result!" 要加引号!
改后如下: 你再试试。
setlocal ENABLEDELAYEDEXPANSION
set var=c:\
set result=%~$var:1
echo gggggg!result!kkkk
if "!result!" equ "" echo 文件找不到
pause