我的batch file在运行时出现错误,但是当我在命令行中手动逐个运行命令时,则不会出现错误。 这是batch file'test.bat'。
echo "test" cd "c:\packages" pause for /R c:\packages %F in (*.msi) do set /A servername=%~nxF pause echo %servername% pause
我得到这个错误 – “〜nxF在这个时候没有被使用”。
我从https://stackoverflow.com/a/1100466/1105556得到了示例代码我只是试图获取文件名在c:\ packages&存储在'servername'variables的值。 只有一个文件(.msi)在文件夹中,我不能找出什么是错的。 有人能为我解开谜吗?
您需要在批处理文件中加倍%%
:
for /R c:\packages %%F in (*.msi) do set /A servername=%%~nxF