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的索引
热点内容