bat脚本|batch入门

 

 

bat脚本|batch入门

批处理文件最常用的几个命令:

echo表示显示此命令后的字符

echo on  表示在此语句后所有运行的命令都显示命令行本身
echo off 表示在此语句后所有运行的命令都不显示命令行本身
@与echo off相像,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。
call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。
pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续
rem 表示此命令后的字符为注释,不执行。

 

 

@echo off
::第一次批处理
 	
chcp 65001
::为了中文的正常输出 echo hello_world 呜啦啦啦 pause

 bat脚本|batch入门

 

为了学习安全加固脚本的。记录一下基础语法,helloworld开头

 

  set变量

@echo off
set a=1
echo %a%
::1   基本赋值

set a=set ::set set b=a ::a set c=^= ::= ^转义用 set d=1 ::1 set e=%a% %b%%c%%d% :: a,b,c,d 的组合set a=1 ::所以e == set a=1 %e% ::运行了set a=1 echo %a% echo %b% echo %c% echo %d% echo %a% echo %%a%% ::转义用 set /p a= pause exit

 

bat脚本|batch入门

@echo off
set /p a=

echo %a%
::a为上面输入的值

set /p password=pleasr input your password
::输入
echo your password is %password%


pause
exit

 

 bat脚本|batch入门

 

@echo off
set /p a=<1.txt
::从1.txt读取第一行的所有内容并赋值到%a%
::不过只能输出第一行
echo %a% set c=12 set d=2 set /a b=c*d echo c*d=%b% ::set指令拥有/a参数,那么它的赋值运算符后面的变量不需要带上百分号。 pause exit

同目录下bat脚本|batch入门

输出

bat脚本|batch入门

 简单调用:

调用的

::call_b.bat
@echo off
echo this is call_b
call b.bat
pause
exit

::调用一下b

被调用的b.bat

::b.bat
@echo off echo this is BBBBBBBBBB exit/b 233

 运行call_b.bat

bat脚本|batch入门

 

环境变量

@echo off
     
chcp 65001

echo %SYSTEMDRIVE%
set /p content=<%SYSTEMDRIVE%\WiFi_Log.txt
echo %content%

set a=1234567890
::只取变量前一部分
echo %a:~2,3%
echo %a:~-1%
echo %a:~0,-1%
::从正数第一位一直到倒数第一位之前的那一位

::变量替换
set a=我好!
echo %a:我=你%

pause
exit

bat脚本|batch入门

 bat脚本|batch入门

 

 

 逻辑变换

@echo off

set a=1

if "%a%"=="1" (
    echo a is 1
) else (
::空格规范
    echo a isn't 1
)

if not "111" == "222" echo if not

if not defined b set b=2
echo %b%


if not exist 1.txt echo no txts! 

pause
exit    

bat脚本|batch入门

 

 

@echo off
chcp 65001
set /p a=请输入a:
set /p b=请输入b:

if %a% gtr %b% (
    echo %a% 大于 %b%
) else (
    echo %a% 小于 %b%
)
pause
exit

bat脚本|batch入门

 

bat脚本|batch入门

 传参

@echo off
call b.bat 1 3
echo %ERRORLEVEL%
::这里输出了b.bat的退出码
pause
exit

 

@echo off
set /a a=%1+%2
:: /a 进行运算  第一个参数和第二个参数
echo %a%

exit /b %a%
::exit /b后必须接上数字退出码

 bat脚本|batch入门

 

bat脚本|batch入门

 

 

一些基本脚本

 

@ECHO OFF 
TITLE BAT脚本例子1 
echo -----------枚举C盘目录下所有文件----------- 
echo= 
echo= 
dir c:\*.* 
rem 输出到文本文件 
dir c:\*.* > example1.txt 
echo= 
echo= 
echo ------------------------------------------
PAUSE

bat脚本|batch入门

 

@ECHO OFF 
TITLE BAT脚本例子2 
chcp 65001
COLOR A 
echo -----------BAT脚本例子2----------- 
echo= 
echo= 
echo 当前工作路径为:%cd% rem 输出文件目录的树形目录 
TREE /f >tree_list.txt 
rem CD切换不同盘符时候需要加上/d 
CD /D C:\ 
echo 当前工作路径为:%cd% 
DIR 
rem 创建目录bat_example2 
MD bat_example2 
DIR 
rem 拷贝目录 /s /e /y 说明:在复制文件的同时也复制空目录或子目录,如果目标路径已经有相同文件了,使用覆盖方式而不进行提示 
Xcopy C:\bat_example2 D:\bat_example2 /s /e /y 
rem 删除目录bat_example2 
rem RD /Q /S bat_example2 
rem 
DIR 
echo= 
echo= 
echo -------------------------------------------- 
PAUSE

 



上一篇:最大公约数与最小公倍数


下一篇:HDU 1525 Euclid's Gamewhat?(博弈问题,还不是找出规律,呵呵哒。。。。)