赞
踩
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 exist c:\bat (
- echo "exist bat"
- )else (
- md c:\bat
- )
- 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 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文件内容以空格切割,选取第二个
- start c:\bat\copy_%%a_%i%%j%.bat
- // start会新开cmd窗口
- :intercept
- if "%str:~-1%"==" " set "str=%str:~0,-1%"&goto intercept
- 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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。