批处理中%~$PATH:I 这个for 的变量的详细用法,最好举几个例子
2个回答
展开全部
%~$PATH : 1 - 查找列在 PATH 环境变量的目录,并将 %1扩充到找到的第一个完全合格的名称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串。
这是CALL命令自动翻译的结果,意思是在%PATH%中搜寻%1这个文件,并显示出第一个合格的路径。
%PATH%的路径有哪些,你可以在CMD中运行【echo.%PATH%】看到。
给个例子:
@Echo off
::在CMD中的%,在批处理中需变为%%
echo path的路径有这些:%path%
echo.&echo.
for %%a in (notepad.exe calc.exe explorer.exe) do echo 查找%%a的第一个结果是:%%~$PATH:a
pause
这是CALL命令自动翻译的结果,意思是在%PATH%中搜寻%1这个文件,并显示出第一个合格的路径。
%PATH%的路径有哪些,你可以在CMD中运行【echo.%PATH%】看到。
给个例子:
@Echo off
::在CMD中的%,在批处理中需变为%%
echo path的路径有这些:%path%
echo.&echo.
for %%a in (notepad.exe calc.exe explorer.exe) do echo 查找%%a的第一个结果是:%%~$PATH:a
pause
展开全部
%~$path:i可以将其分解:
%i和%path%
%I 和 PATH 可用其他有效数值代替
下面我们就把path换成别的比方说a和把%i换成%j
这样明白了吧看列:
@echo off
set a=c:\windows\system32;c:\windows\;d:\路径可以随便你填
for %%j in (cmd.exe notepad.exe) do echo 在变量a中所列出的路径中寻找j中的文件%%~$a:j
pause
注意这是个批处理将其复制到记事本保存后缀名为.bat才可以因为在cmd 里不能换行当然你也可以修改但%%要换成%
%i和%path%
%I 和 PATH 可用其他有效数值代替
下面我们就把path换成别的比方说a和把%i换成%j
这样明白了吧看列:
@echo off
set a=c:\windows\system32;c:\windows\;d:\路径可以随便你填
for %%j in (cmd.exe notepad.exe) do echo 在变量a中所列出的路径中寻找j中的文件%%~$a:j
pause
注意这是个批处理将其复制到记事本保存后缀名为.bat才可以因为在cmd 里不能换行当然你也可以修改但%%要换成%
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询