bat批处理笔记

变量

1.CMD窗口变量,变量名必须用单%引用(即:%variable)

外部变量,是系统制定的,只有9个,专门保存外部参数的,就是运行批处理时加的参数。只有 %1 %2 %3 %4 ...... %9。

在bat内直接

set  i=%1

 

copy.bat c G

2.bat文件批处理脚本中,变量名必须用双%引用(即:%%variable)

for循环变量为%%a

set  i=%1
set  j=%2

3.%a% 这种形式 ,就是变量的引用

@echo off
set a=123
echo %a% 

 %~1和%1有什么区别

%1就是表示批处理的第一个参数,
%~1表示删除参数外面的引号
比如有个批处理文件 test.bat
在cmd中输入命令
test.bat "test"
%1表示的是“test“。%~1表示的是test,没有了双引号

 

变量输入

set /a 执行数学计算
set /p 提示用户输入



//然后窗口提示 输入:
//输入完后 按回车
set /p a=输入:

set /a a=2*%b%


//先显示promptstring,再把"<"管道号右边的1.txt文件中从第一个字符开始直到碰到回车符的内容赋值给变量a (通常表现为第一行)
set /p a=promptstring<1.txt

删除文件和文件夹

del /f /s /q c:\bat\copy_%x%_%i%%j%.bat  //删除文件
del /f /s /q C:\Wistron\DataSource\bat\*.txt   //删除所有txt文件

rd /q /s %i%:\copy  //删除文件夹

 

查询文本内字符串

// %1 为cmd 内输入的txt文件 
set  i=%1

find "***" %i%
if %errorlevel% equ 0 (
echo found "*****"
echo fail > Copy.txt
) 

if语句例子

if exist c:\bat (
echo "exist bat"
)else (
md c:\bat 
)

for例子

for /l %%a in (1 1 5) do (
if exist "c:\bat\copy_%x%_%i%%j%.bat"   del /f /s /q c:\bat\copy_%x%_%i%%j%.bat
)

// /l 表示循环 
// for /l %variable in (start,step,end)

强烈建议查看-> 参考https://www.cnblogs.com/Braveliu/p/5081087.html

xcopy

xcopy c:\bat\copy\*.* %i%:\copy /s /e

两文件找不同

findstr /vg:C:\bat\old.txt C:\bat\new.txt >C:\bat\diff.txt

文件提取内容

for /f "tokens=2 delims= " %%i in (C:\bat\diff.txt) do echo %%i >C:\bat\diskNo.txt

//txt文件内容以空格切割,选取第二个

bat内执行bat

start   c:\bat\copy_%%a_%i%%j%.bat 
// start会新开cmd窗口

 

右边去空格

:intercept
if "%str:~-1%"==" " set "str=%str:~0,-1%"&goto intercept

 

diskpart在bat文件用法

echo select disk %diskNo% > C:\bat\selectDisk.ps1
echo detail disk  >> C:\bat\selectDisk.ps1
diskpart /s C:\bat\selectDisk.ps1> C:bat\detailNewDisk.txt

 

^取消转义 与 时间

Echo Date /T ^>^> c:\bat\copy_log_%i%%j%%x%.txt >> c:\bat\copy_%x%_%i%%j%.bat
Echo Time /T ^>^> c:\bat\copy_log_%i%%j%%x%.txt >> c:\bat\copy_%x%_%i%%j%.bat

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值