0

包含变量的文件名和目录正在内部过程中进行评估。如何在不评估的情况下将文件名批量存储为变量?

EG:我的路径是:

"C:\Rare\Names in a File\%CD%\"
                              batchfile.bat
                              file.txt

我想在这个目录中运行一个脚本:

REM #####BATCHFILE.BAT#######

pushd "%dp0"
for %%A in ("C:\Test") do set EXEPATH=%%~A
for %%A in ("Test.exe") do set EXECUTABLE=%%~A
for %%A in ("%CD%") do set DIRNAME=%%~A
for %%A in ('dir /b /a-d "*.txt"') do (
SET FILENAME=%%~A
CALL :PROCEDURE
)
exit /b
:PROCEDURE
start /w "" "%EXEPATH%\%EXECUTABLE%" "%DIRNAME%\%FILENAME%" 
4

1 回答 1

0

我已经批量制作了一个菜单,这与您的问题有点不同。

每个文件需要一个变量。最简单的方法是增加他们的名字:

var1=path1\exe1
var2=path1\exe2
var3=path2\exe1
var4=path2\exe2

在 for 循环中的每个变量上,您都可以调用一个过程,该过程将带有路径的文件保存在变量中。

for ....(
   call :Var %path% %file%
)

:Var
set /a id+=1
set %id%.path=%1&& shift
set %id%.file=%1
goto:EOF

after this you could do

for ..(1,1,%id%) do (
   start !%id%.path!\!%id%.file!
)

如果你想看看我的批处理菜单,你可以联系我。

于 2013-04-10T15:15:21.690 回答