2011-10-21 9 views
2

我正在運行批處理腳本,它調用二進制NiniteOneTrial以安裝「applist.txt」中列出的一組應用程序。這很好,但我想看看是否有一種方法來設置打印到屏幕(回顯)當前正在安裝的應用程序(每個applist.txt調用)的變量:從'for'變量列表中回顯當前任務的批處理腳本

基本上,想要用當前從該列表安裝的應用程序替換%% CURRENTTASKFROMLIST %%。

set CACHEPATH=\\server-01\local_apps\Ninite\netcache 
set file_list=C:/ninite/applist.txt 

:appinstall 
for /f %%1 in (%file_list%) do (
    echo . . . . . . . . . . . . . . . . [ Installing %%CURRENTTASKFROMLIST%% ] 
    cmd /c C:/ninite/NiniteOneTrial.exe /disableautoupdate /disableshortcuts /allusers /select %%1 /silent . /cachepath %CACHEPATH% 
) 
+0

我很困惑。你想要回聲的是什麼?即,CURRENTTASKFROMLIST應該是什麼?你想要在下一行回顯與'%% 1'不同的東西嗎? –

+0

applist.txt文件有一個應用程序列表。 :appinstall段會調用該列表上的每個項目。我得到了echo:「安裝xxx」,對於每一個運行的項目,但我想這樣做,'xxx'是某個變量,實際上告訴我當時正在運行哪個項目。對不起,我是一個新手程序員,我的術語仍然非常綠色:) – l0c0b0x

+1

我仍然不確定你想要打印什麼。假設file_list包含行「app1」。你想打印「安裝app1」嗎?如果是這樣,那麼就像在下一行中使用'%% 1'一樣。 –

回答

2

從你的問題和評論這聽起來像你想只用%%1,你必須%%CURRENTTASKFROMLIST%%。 for循環中的%%1將爲您提供當前正在安裝的應用程序名稱。