bat腳本字元串
發布時間: 2025-07-10 21:19:49
㈠ bat腳本,匹配所有含有關鍵字的行,在行後增加一段字元串,現在這個腳本只能匹配到首個關鍵字行。
/*&cls
@echooff
set@=q&set/an=0x53b7e0b4
title%@%%@%%n%
cd/d"%~dp0"
dir/a-d/b"文本.txt"|cscript-nologo-e:jscript"%~f0""關鍵詞""添加的內容"
pause&exit
*/
varfso=newActiveXObject('Scripting.FileSystemObject');
varkeyword=WSH.Arguments(0);
varaddstr=WSH.Arguments(1);
while(!WSH.StdIn.AtEndOfStream){
varfile=WSH.StdIn.ReadLine();
WSH.Echo(file);
vartxt=read(file);
write(txt,file);
}
functionread(file){
vars='';
varf=fso.OpenTextFile(file,1);
while(!f.AtEndOfStream){
varline=f.ReadLine();
s+=(line.indexOf(keyword)>-1?line+addstr:line)+' ';
}
f.Close();
returns;
}
functionwrite(text,file){
varf=fso.CreateTextFile(file,2);
f.Write(text);
f.Close();
}
㈡ 在bat批處理腳本中,怎樣將for語句中的%%i當作字元串處理做類似於%str:~1,5%之類的操作
SETLOCAL ENABLEDELAYEDEXPANSION
@echo off
for /l %%i in (1000,1,1005) do (
@SET num=%%i
@echo !num:~-1,1!
)
pause
大致的思路是把%%i賦值給另一個變數,再對另一個變數進行操作,本例是取了數字的最後一位,並且使用到了延遲變數
㈢ BAT批處理獲取指定字元串的最後一位索引
最近寫一個bat批處理腳本的時候,想獲取第一個指定字元串最後一位所在的索引,網上沒有找到對應的例子,於是自己寫了個,思路很簡單,就是將字元串和要獲取指定字元串進行遍歷。
例:一串字元串:This is a test string 查找test並給出最後一個t的索引,查找a並給出a的索引
熱點內容