2021-08-09 全网最无聊最全的cmd batch教程,看了不要学哦

首先要说为啥我们要学batch,主要是无聊,其次就是进行运维的时候cmd有时候竟然权限会比powershell高,powershell跑不动的话,cmd来凑,简单又省代码,嗯,就是可读性是差的可以

不讲解这么多命令的用途了,以下:

rem 这个是注释,也能用::来代替,功能是相同的
rem 首先来个helloworld
echo helloworld
rem 将helloworld 写入文件末行(只会写入最新行前面的会被覆盖)
echo helloworld > 1.txt
rem 将helloworld 写入文件末行(追加写入,是不是比python还容易,错了,才没有)
echo helloworld >>1.txt
rem 定义变量(数字,好像不支持小数点,/a代表是数字,没有的话是模糊的)
set x=0
set /a x=0
rem 定义变量(字串)
set x=xxx
set x="xxx"
rem 变量递增
set /a x=x+1
set x=%x%%y%
rem if (%x%如果不是数字要加引号,这个很迷惑,有时类型是模糊的时候就加引号,什么叫模糊的变量,emmm不知道怎么解释.有else要用括号把else之前的条件式加括号,后面不需要加括号,另外cmd是没有elseif的)
if "%x%"=="13" (echo its already 13 ) else echo not 
rem 实现elseif的办法
if "%a%"=="hello" (goto done) else goto second
:second
if "%a%"=="world" (goto done & echo 2) else goto thrid
.......
:done
echo done
pause
rem goto (死循环来得,我就注释了)
rem :start
rem echo loop
rem goto start
rem for 的多种用法 (初级)
rem /d 遍历目录
for /d %%i in ("c:\1") do echo %%i
rem /l 是递增/递减 数字 
for /l %%i in (1,1,12) do echo %%i
for /l %%i in (12,-1,1) do echo %%i
for /l %%i in (%idx%,1,12) do echo %%i
for /l %%i in (%end%,-1,1) do echo %%i
rem /f 字符串分割(先来个简单的)
for /f "delims=" %%i in ("basic") do echo %%i
for /f "delims=!abc" %%i in ("a!abcbasic") do echo %%i
for /f "tokens=2 delims=!" %%i in ("!abcbasic") do echo %%i
rem 截取 echo 的命令结果
for /f "delims=" %%i in ('echo xxx') do echo %%i
rem 读行 (双引号,单引号和没有引号的区别)
for /f "delims=" %%i in (1.txt) do %%i
rem for 嵌套 (说嵌套不如说传递)
rem (特别提示,如果没有分割就是delims=,这个并不能留空或者不用,不然会有不明的效果..)
rem (for 的变量是 %%i %%j.......这样形式,只支持大写小写)
for /f "delims=" %%i in ("string") do for /f "delims=" %%j in (1.txt) do echo %%i%%j
rem (for /f 里面的括号是可以支持 'dir /s /b'的,所以加上copy的效果)
for /f "delims=" %%i in ('dir /s /b c:\2') do copy %%i c:\1\%%i
rem (for 可以和if 一起玩)
for /f "delims=" %%i in ("string") do if "%%i"=="string" echo %%ihello 
rem (特殊玩法 )
set x=0
----------------------这段错了-----------------------------------
for /f "delims=" %%i in ('dir /s /b *.jpg') do for /f "delims=" %%j in ('set x') do set x & set /a x=%x%+1
echo  have %x% file
-----------------------最新修改---------------------------------------
set x=0
for /f "delims=" %%i in ('dir /s /b *.jpg') do for /f "delims=" %%j in ('set /a x') do set x & set /a x=%%j+1
echo  have %x% file
rem 只有重复在一条语句里这样重复set 才能实现根据词条数量的数字递增,不要问我为什么,我也不知道

下期搞几十行
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值