複製代碼 代碼如下:@echo off goto run 問題是這樣的,有一個文字檔,裡而的內容如下 accident n.意外遭遇,事故;意外(因素) across prep.橫過,越過;在的對面 ad.橫過,穿過 active adj.活躍的,敏捷的,積極的;在活動中的 advertise vt.公告,公布;為...做廣告 vi.登廣告 after prep.在...以後;在...後面 adv.以後,後來 我怎麼才能把它放到另外一個檔案中,其內容為: accident
複製代碼 代碼如下:@echo off :: 去掉左空格 :: :: set "str= ab c&>! " for /f "tokens=*" %%i in ("%str%") do echo "☆%%i☆" pause goto :eof @echo off :: 去掉左空格 :: :: set "str= ab c&>! " :intercept if "%str:~0,1%"==" " set "str=%str:~1%"&goto
複製代碼 代碼如下:@echo off :: 尋找偶數行內容 :: set n=0 for /f "delims=" %%i in (test.txt) do set /a n+=1 for /l %%i in (1,2,%n%) do ( findstr /n "." test.txt|findstr /r "^%%i:">>tmp.txt ) for /f "tokens=1* delims=:" %%i in (tmp.txt) do echo
複製代碼 代碼如下:@echo off :: 尋找形如 <input name=id value=1842 type=hidden> 的記錄中 :: 的第一個數字串 :: 通過探測每一個字元的類型來擷取,但是效率十分低下 :: code by jm 2006-10-16 CMD@XP set num=0 setlocal enabledelayedexpansion for /f "delims=" %%i in (input.txt) do call :intercept
複製代碼 代碼如下:::比如我輸入 af 就顯示 ::a ::b ::c ::d ::e ::f ::每個字母佔一行啊``不知能不能實現.. @echo off :: :: :begin cls set str=a b c d e f g h i j k l m n o p q r s t u v w x y z set input= set /p input= 請輸入字母範圍(如af): call set str=%%str:%input:~0,1%=-☆%input:~0,1%%%
複製代碼 代碼如下:@echo off :: 求1-100範圍內隨機的不同5個數值 :: 產生0-99之間的隨機數列 R1 :: :: :: @echo off setlocal EnableDelayedExpansion :: 初始化順序數列 for /l %%i in (0,1,99) do ( set rnum%%i=%%i ) :: 對數列進行隨機交換 for /l %%i in (0,1,99) do ( set /a rnd=!random! %% 100 call set
複製代碼 代碼如下:@echo off goto begin 參數1:文字檔名 參數2:要顯示的行的字元數(可省) 例如要列印a.txt中的字元數為4的行: print.bat a.txt 4 或者直接把要處理的檔案拖放到指令檔上,然後按提示操作。 效率非常高 :begin setlocal ENABLEDELAYEDEXPANSION set var=%2 if "%var%" == "" set /p var=輸入要顯示的行的字元數: for /l %%i in (1,1,%var%)
通常我們需要提取文本整行內容時都是這麼寫的。複製代碼 代碼如下:for /f "delims=" %%a in (a.txt) do echo.%%a但是分號開頭的行呢,for也會忽略掉,很多時候我們需要這些行,怎麼辦。 用findstr 等外部命令太麻煩,用eol 忽略一個不可見字元,不失為一個不錯的辦法,但始終忽略了某個字元開頭的行,且擷取這個不可見字元也比較麻煩。 其實有更簡單的方法,就是把eol放在最後。複製代碼 代碼如下:@echo off rem