当前位置:首页 » 编程软件 » bat脚本while

bat脚本while

发布时间: 2022-11-02 12:48:26

① 如何让bat脚本循环执行

让bat脚本循环执行有以下两种方法:

第一、可以直接加个%0,即执行本身,实现循环。
第二、用goto命令,去到你要重复的开头,如果要限制次数,可以先set 一个值,循环一次减1,条件命令到0退出,实现循环。

② 批处理BAT怎么用循环输出字符串

你好!

下面代码可以实现你要的功能:

@echooff

for/l%%iin(100001,1,100099)do(
setx=%%i
echo!x:~-5!>>a.txt
)
pause
>a.txt是覆盖内容
>>a.txt是追加内容

希望对你有帮助!

③ bat批处理中怎样用while循环

bat
常用命令

echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。

==== 注 ===========
首先, @ 不是一个命令, 而是DOS 批处理的一个特殊标记符, 仅用于屏蔽命令行回显. 下面是DOS命令行或批处理中可能会见到的一些特殊标记符:
CR(0D) 命令行结束符
Escape(1B) ANSI转义字符引导符
Space(20) 常用的参数界定符
Tab(09) ; = 不常用的参数界定符
+ COPY命令文件连接符
* ? 文件通配符
““ 字符串界定符
| 命令管道符
< > >> 文件重定向符
@ 命令行回显屏蔽符
/ 参数开关引导符
: 批处理标签引导符
% 批处理变量引导符

其次, :: 确实可以起到rem 的注释作用, 而且更简洁有效; 但有两点需要注意:
第一, 除了 :: 之外, 任何以 :开头的字符行, 在批处理中都被视作标号, 而直接忽略其后的所有内容, 只是为了与正常的标号相区别, 建议使用 goto 所无法识别的标号, 即在 :后紧跟一个非字母数字的一个特殊符号.
第二, 与rem 不同的是, ::后的字符行在执行时不会回显, 无论是否用echo on打开命令行回显状态, 因为命令解释器不认为他是一个有效的命令行, 就此点来看, rem 在某些场合下将比 :: 更为适用; 另外, rem 可以用于 config.sys 文件中.
=====================

echo 表示显示此命令后的字符
echo off 表示在此语句后所有运行的命令都不显示命令行本身
@与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。
call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。
pause 运行此句会暂停批处理的执行并在屏幕上

④ 如何让bat文件一直循环执行

让bat脚本循环执行有以下两种方法:

第一、可以直接加个%0,即执行本身,实现循环。

第二、用goto命令,去到要重复的开头,如果要限制次数,可以先set 一个值,循环一次减1,条件命令到0退出,实现循环。

(4)bat脚本while扩展阅读:

goto语句一般格式如下:

goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。

如: label: i++;

loop: while(x<7);

goto loop;

goto语句的语义是改变程序流向, 转去执行语句标号所标识的语句。goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。

⑤ bat脚本批量修改文件名中的大写字母为小写字母

批量将文件名修改为小写的方法:

步骤1,下载“优速文件批量重命名”软件后安装打开,然后点击左上角的【添加文件】按钮,将需要修改名称的文件全部添加到软件中。也可以直接拖动文件到软件里进行添加。

⑥ 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脚本循环执行

让bat脚本循环执行有以下两种方法:

第一、可以直接加个%0,即执行本身,实现循环。
第二、用goto命令,去到你要重复的开头,如果要限制次数,可以先set 一个值,循环一次减1,条件命令到0退出,实现循环。

⑧ 如何使用bat脚本获取电脑上所有windows服务的信息

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
::获取本机服务列表By依梦琴瑶2017-3-25
::
::
::如非必要,请勿随意修改代码,以免运行出错。
::尊重劳动成果,保留版权声明。
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

@echooff&
cd/d%~dp0&setPROG=获取本机服务列表
ifnot"%~n0"=="%PROG%"move/y"%~0""%PROG%%~x0">nul&start"""%PROG%%~x0"
color0a&title%PROG%By依梦琴瑶

echo正在努力获取本机服务列表,请稍后。。。
(echo显示名称^|^|^|^|服务名称^|^|^|^|描述^|^|^|^|状态^|^|^|^|启动类型^|^|^|^|登录为^|^|^|^|执行路径
for/f"tokens=2*delims=:"%%ain('scquerystate^=all^|findstr"^SERVICE_NAME:<STATE"')do(
for%%cin(DISPLAY_NAME,SERVICE_NAME,DESCRIPTION,STATE,START_TYPE,SERVICE_START_NAME,BINARY_PATH_NAME)doifnotdefined%%cset"%%c=(无)"
set/aNum+=1
if!Num!equ2(
echo"%%a"|findstr"RUNNING">nul&&set"STATE=已启动"||set"STATE=已停止"
setNum=0
echo!DISPLAY_NAME!^|^|^|^|!SERVICE_NAME!^|^|^|^|!DESCRIPTION!^|^|^|^|!STATE!^|^|^|^|!START_TYPE!^|^|^|^|!SERVICE_START_NAME!^|^|^|^|!BINARY_PATH_NAME!
)else(
for/f"tokens=2*delims=:"%%bin('scqdescription%%a')do(
set"DESCRIPTION=%%b"
set"DESCRIPTION=!DESCRIPTION:~2!"
)
for/f"tokens=2*delims=="%%bin('scGetDisplayName%%a')do(
set"DISPLAY_NAME=%%b"
set"DISPLAY_NAME=!DISPLAY_NAME:~1!"
)
for/f"delims="%%bin('scqc%%a^|findstr"<START_TYPE<BINARY_PATH_NAME<SERVICE_START_NAME"')do(
set/aCut+=1
if!Cut!equ3(
echo"%%b"|findstr/i"LocalService">nul&&set"SERVICE_START_NAME=本地服务"||(
echo"%%b"|findstr/i"LocalSystem">nul&&set"SERVICE_START_NAME=本地系统"||(
echo"%%b"|findstr/i"NetworkService">nul&&set"SERVICE_START_NAME=网络服务"||(
set"SERVICE_START_NAME=%%b"
set"SERVICE_START_NAME=!SERVICE_START_NAME:SERVICE_START_NAME:=!"
)
)
)
setCut=0
)else(
if!Cut!equ2(
set"BINARY_PATH_NAME=%%b"
set"BINARY_PATH_NAME=!BINARY_PATH_NAME:BINARY_PATH_NAME:=!"
)else(
echo"%%b"|findstr"DELAYED">nul&&set"START_TYPE=自动(延迟启动)"||(
echo"%%b"|findstr"AUTO_START">nul&&set"START_TYPE=自动"||(
echo"%%b"|findstr"DEMAND_START">nul&&set"START_TYPE=手动"||set"START_TYPE=禁用"
)
)
)
)
)
set"SERVICE_NAME=%%a"
set"SERVICE_NAME=!SERVICE_NAME:~1!"
)
))>ymqy.$


:SortingList
for/f"skip=1tokens=1delims=[]"%%ain('find/n"::SortingListVBS::""%~0"')dosetLine=%%~a
more+%Line%"%~0">Sorting.VBS
(cscript//nologo//e:jscript"Sorting.VBS"<ymqy.$)>"%~dp0%COMPUTERNAME%_服务列表.Log"
del/f/qymqy.$Sorting.VBS
cls&echo本机服务列表已输出至"%~dp0%COMPUTERNAME%_服务列表.Log"
echo,&echo请按任意建退出&pause>nul
exit

::SortingListVBS::
vari=0,arr=[],max=[];
varreg=/[^x00-xff]/g;

while(!WSH.StdIn.AtEndOfStream){
varstrLine=WSH.StdIn.ReadLine();
if(!/^s*$/.test(strLine)){
arr[i]=strLine.split('||');
for(varj=0;j<arr[i].length;j++){
varlen=arr[i][j].replace(reg,'..').length;
if(!max[j]||len>max[j])max[j]=len;
}
i++;
}
}

for(vari=0;i<arr.length;i++){
vars='';
for(varj=0;j<arr[i].length;j++){
varlen=max[j]-arr[i][j].replace(reg,'..').length;
varspace='';
for(vark=0;k<len;k++)space+='';
s+=arr[i][j]+space;
}
WScript.Echo(s);
}



迟到的回答,实在抱歉,事儿有点多。生成的列表信息保存在脚本目录下,名字为当前系统的本机名。后缀为Log。

你运行,看看符不符合你的要求。

⑨ bat批处理中怎样用while循环

bat 常用命令 echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起

⑩ 请问下为什么用bat脚本,批量删除文件名的中括号,会失败请问是代码错误吗有什么办法吗SOS!

因为您的文件夹名中包含空格,这个时候您使用的for命令,由于没加相关参数,导致名称会被分割,所以最终重命名失败。
如果您仅处理文件夹名,那么请给for添加一个/d参数。如下:
for /d %%a in (*) do
如果仅处理文件名,那么需要使用for+dir的方式,如下:
for /f "delims=" %%a in ('dir /a-d/b *') do

这样才能避免名称有空格而被分割的情况。

热点内容
sql的视图是从中导出的 发布:2025-07-16 09:31:34 浏览:783
安卓如何打开shell窗口 发布:2025-07-16 09:28:09 浏览:311
华为荣耀备忘录文件夹 发布:2025-07-16 09:23:23 浏览:972
基于特征匹配算法 发布:2025-07-16 09:18:23 浏览:46
梦香神奇宝贝服务器的ip 发布:2025-07-16 09:14:07 浏览:212
电子密码手套箱是什么 发布:2025-07-16 09:13:27 浏览:799
手机连接数据库 发布:2025-07-16 09:13:23 浏览:132
广东服务器存储虚拟主机 发布:2025-07-16 09:13:17 浏览:326
绝地逃亡电脑怎么设置最低配置 发布:2025-07-16 09:10:50 浏览:425
联想z5的配置如何 发布:2025-07-16 09:08:21 浏览:879