2013-01-02 69 views
0

正在對內部變量的文件名和目錄進行評估。如何批量存儲文件的名稱作爲變量而不進行評估?batch:在for循環中評估變量的文件名

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%" 

回答

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! 
) 

如果你想看看我的批量菜單,你可以聯繫我。