我有一個批處理文件,並且在批處理文件中,它在特定目錄中查找並保存到變量中,即第一個目錄/文件的名稱。這裏大概是我在做什麼:蝙蝠腳本for循環在CL上工作,但在雙擊時不起作用
FOR /d %%F IN (%INSTALL_DIR%\dir\*) DO (
set NAME=%%~xnF
set NAME_DIR=%INSTALL_DIR%\dir\%NAME%
goto :break
)
當我從命令行運行它,它完美的工作,並且NAME_DIR得到正確的值。但是,當我雙擊文件時,NAME變量是空白的。 NANE_DIR因此被設置爲%INSTALL_DIR%\ dir。爲什麼會發生這種情況,我該如何解決這個問題?
更多的澄清,在命令行中,這是迴盪在什麼NAME和NAME_DIR等於:
NAME: dir1.3.8
NAME_DIR: D:\root\path\to\dir\dir1.3.8
這是當雙擊了什麼是附和道:
NAME:
NAME_DIR: D:\root\path\to\dir
'NAME_DIR'得到命令行的正確值?棒極了!請在'goto:break'行之前''回顯'NAME'和'NAME_DIR'的值,並在此輸出。 – Endoro 2013-05-06 21:59:39
爲了更好的清晰度,我添加了它 – user972276 2013-05-06 22:42:52
您在哪行代碼中加入了'echo'命令? – Endoro 2013-05-07 00:08:47