当前位置:   article > 正文

bat批处理笔记_bat脚本中:intercept1

bat脚本中:intercept1

变量

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

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

在bat内直接

set  i=%1

 

copy.bat c G

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

for循环变量为%%a

  1. set i=%1
  2. set j=%2

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

  1. @echo off
  2. set a=123
  3. echo %a%

 %~1和%1有什么区别

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

 

变量输入

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

  1. //然后窗口提示 输入:
  2. //输入完后 按回车
  3. set /p a=输入:
  4. set /a a=2*%b%
  5. //先显示promptstring,再把"<"管道号右边的1.txt文件中从第一个字符开始直到碰到回车符的内容赋值给变量a (通常表现为第一行)
  6. set /p a=promptstring<1.txt

删除文件和文件夹

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

 

查询文本内字符串

  1. // %1 为cmd 内输入的txt文件
  2. set i=%1
  3. find "***" %i%
  4. if %errorlevel% equ 0 (
  5. echo found "*****"
  6. echo fail > Copy.txt
  7. )

if语句例子

  1. if exist c:\bat (
  2. echo "exist bat"
  3. )else (
  4. md c:\bat
  5. )

for例子

  1. for /l %%a in (1 1 5) do (
  2. if exist "c:\bat\copy_%x%_%i%%j%.bat" del /f /s /q c:\bat\copy_%x%_%i%%j%.bat
  3. )
  4. // /l 表示循环
  5. // 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

文件提取内容

  1. for /f "tokens=2 delims= " %%i in (C:\bat\diff.txt) do echo %%i >C:\bat\diskNo.txt
  2. //txt文件内容以空格切割,选取第二个

bat内执行bat

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

 

右边去空格

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

 

diskpart在bat文件用法

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

 

^取消转义 与 时间

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

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/910848
推荐阅读
相关标签
  

闽ICP备14008679号