我有這個.bat文件,我想將其限制爲gmname.txt中只有200行。基本上,當這個.bat文件爲每一行運行時,比方說我在gnmname.txt中有300行,我想只啓動UpMe.bat爲200.我知道這應該很簡單,但任何幫助表示讚賞。將.bat文件限制在txt文件中只有200行
for /f "tokens=1" %%k in (gmname.txt) do start /MIN UpMe.bat %%k
我有這個.bat文件,我想將其限制爲gmname.txt中只有200行。基本上,當這個.bat文件爲每一行運行時,比方說我在gnmname.txt中有300行,我想只啓動UpMe.bat爲200.我知道這應該很簡單,但任何幫助表示讚賞。將.bat文件限制在txt文件中只有200行
for /f "tokens=1" %%k in (gmname.txt) do start /MIN UpMe.bat %%k
如果我明白你想處理一個文本文件的X行數量的命令?那麼這裏是代碼:
@Echo off
Setlocal enabledelayedexpansion
Set /A "Limit=200"
for /F "Usebackq tokens=1" %%k in (
"gmname.txt"
) do (
Set /A "Line+=1"
If !LINE! LEQ !LIMIT! (start /MIN UpMe.bat %%k)
)
Pause&Exit
http://ss64.com/nt/for.html顯示瞭如何輸入文件
SET count=1
for /f "tokens=1" %%k in (gmname.txt) do (
echo %count% : %%k
set /a count+=1)
您可以使用該種方法的每一行運行一個代碼塊,並適應它退出批處理文件當count
達到200
如果做不到這一點,你可以調用,而不是使用一個代碼塊子程序,這個環節展示瞭如何
http://ss64.com/nt/call.html
這不起作用。在代碼塊內部,你需要'延遲擴展'和'!變量!'。 – Endoro 2013-04-27 02:22:58
試試這個:
for /f "tokens=1*delims=:" %%k in ('findstr /n $ gmname.txt') do if %%k leq 200 start /MIN UpMe.bat %%l
不應該有空洞線gmname.txt
。
如果「gmname.txt」有超過200行,這應該啓動upme.bat。
@echo off
for /f %%a in ('find /c /v "" ^< "gmname.txt" ') do if %%a GTR 200 call upme.bat
請**不要**添加標語或簽名到您的帖子或他們將被刪除。 – 2013-04-27 02:29:48