Windows命令行脚本编写
- 技术教程
- 2021-10-14
- 2224
今天给小伙伴说一下Windows命令行脚本编写,让大家再使用中提高工作效率。
系统常识
批处理对命令格式很敏感,比如多一个空格少一个空格都影响很大
当你学习的时候,发现一模一样的批处理命令运行不了,一般就是细节不会,比如
in(*.*)不合法in (*.*)合法
延迟扩展
执行完一条语句,才对变量重新赋值
@echooff
seta=
4seta=
5&
echo%a%// 这里输出
4,因为运行到这条语句时,a采用上一条语句运行完的值
pause
关闭延迟
@echooff
setlocalenabledelayedexpansion // 写上该语句
seta=
4seta=
5&
echo!a!// 同时,采用
!a!,
%a%保持延迟
pause
强化实践,输出1 2 3 4 5
@echooff
setlocalenabledelayedexpansion
for/l
%%iin(
1,
1,
5)
do(
seta=
%%iecho!a!)
pause@
echooff // 这样也可以,因为
for中的i是不延迟的
for/l
%%iin(
1,
1,
5)
do(
echo%%i)
pause
con
屏幕
nul空设备
prn打印机 >> 产生的内容将追加进文件中 > 则将原文件内容覆盖 < 输入重定向 <<代表当前标准输入来自命令行的一对分隔号的中间内容 & 顺序执行多条命令,而不管命令是否执行成功 && 顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令 || 顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令(即:只有前面命令执行错误时才执行后面命令) | 管道命令 前一个命令的执行结果输出到后一个命令 如:
help|
more
字符串操作
https://zhuanlan.zhihu.com/p/421422830
for
新建
md hello 新建文件夹 echo=>
1.txt 新建文件
cd .. 返回上层目录 dir 显示所有文件, dir /b>test.xls 会生成一个xls文件,里面存了当前目录所有文件名 dir /b>show.txt ren 1.txt
2.txt 改名字
for%I
in(ABC)
doecho %I
for%i
in(*3.txt) do echo %i for %i in (*.*)doecho %i
例子
echo


echo
. 换行
echo%PATH%输出环境变量
echo%DATE%echo%RANDOM%输出一个随机数
echo%TIME%echo%num%
set

/p
num=
inputa
number: // 注意,
num=
"string"等号之间不能有空格,否则解析失败
set/p
num= <
1.txt
bat的格式要求很严格
∑100i=0i∑i=0100i
@echooff
set/a sum =
0for/l
%%kin(
1,
1,
100)
do(
set/a sum +=
%%kecho%%k)
echo%sum%pause
读入一个数,输出该数字对应的字母
以上就是关于“Windows命令行脚本编写”的相关解答如需购买测试PHP主机,推荐西西云共享虚拟主机、独享IP虚拟主机齐备,各类配置均有,满足不同网站建设需求;另外提供免费虚拟主机,可供测试,让您快速上线网站。
选购地址:https://www.kufanyun.com/host/