cmd新建文件
type nul>a.cpp
新建a.cpp
1、@echo off
通常我们将这条指令写在我们批处理文件的第一行,因为有了这条指令之后,当我们在运行.bat的时候,就不会将文件里面的内容打印出来了,如果没有这句话,会先去将文件里面的内容打印在屏幕上,通常我们是不希望使用者了解里面的代码结构的.
2、@ 命令
表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。
Sample:@echo off如果只写echo off的话,是这句话后面的命令不显示了,这句话本身还是会显示的,所以我们用@echo off, 这句话也不显示了
3、pause命令——暂停
pause在指令中的作用是暂停,当我们需要在文件运行的中间让其暂停一下,看一下我们的输出,就会使用PAUSE命令,然后在控制台就会显示:“请按任意键以继续”,当我们按下任意键之后,文件就会继续运行了,当我们希望在屏幕上显示自己的语句的时候,可以这样写:
@echo off echo "hello world" pause echo "yes"
4、set命令——设置变量
set a=1 set string1=abcdefg
使用set命令,我们可以设置变量,其中“a”和“string1”就是我们设置的变量,可以直接给设置的变量赋值。
当我们希望将设置的变量显示在屏幕的时候,需要在变量的前后带上“%”,然后使用echo命令将设置的变量进行回显。
echo %a% echo %string1%
当我们需要输出空行的时候,使用“echo.”,其中“.”必须紧跟在echo命令的后面,而且“.”也可以被,:;”/等任一的符号代替,这样我们就会输出一个空行,相当于敲了一个回车。
5、REM 和 ::
这两条指令的作用是帮助我们进行指令的注释,类似于C++中的:“/**/”和“//”
REM set a=1 ::set string1=abcdefg
6、call指令
在某一批处理程序中调用另外一个批处理文件,就是用call指令
echo off call E:\Temp.bat echo this is Zzzmain.bat pause
7、%0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %* 命令行传递给批处理的参数
%0 批处理文件本身,包括完整的路径
%1 第一个参数
%9 第九个参数
%* 代表全部参数
8、 >重定向符
>>重定向符
echo "hello world" >> 1.txt
> 清除文件中原有的内容后再写入(如果文件不存在会新建)
>> 追加内容到文件末尾,而不会清除原有的内容(如果文件不存在会新建)
9、< 从文件中获得输入信息,而不是从屏幕上
一般用于 date time label 等需要等待输入的命令
@echo off
echo 2005-05-01>temp.txt
date <temp.txt
del temp.txt这样就可以不等待输入直接修改当前日期
10、>nul 和 nul 2>nul这个">nul 2>nul"可以屏蔽一切屏幕的输出可以这样理解:
假如执行一个命令,但是不想在屏幕里看到这个命令的执行情况,可以使用"[命令]>nul"就可以屏蔽命令在屏幕上的输出,但是有的命令执行会出错,即使用了">nul"也不能屏蔽命令产生的信息,所以就在后面加" 2>nul"这个,就是"[命令]>nul+空格+2>nul",这样,不管命令是否正确的运行,都不会在屏幕看到这个命令所产生的屏幕显示了。
10、 | 命令管道符
将第一条命令的结果当作第二条命令的参数使用
dir c:\ | find "txt"
在c盘目录下查找txt文件
find将dir c:\的结果当作参数使用
11、
&
顺序执行多条命令,而不管命令是否执行成功
&&
顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令
find "ok" c:test.txt && echo 成功
如果找到了"ok"字样,就显示"成功",找不到就不显示
||
顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令
find "ok" c:test.txt || echo 不成功
12、if 语句
if "%1"=="/a" echo 第一个参数是/a if /i "%1" equ "/a" echo 第一个参数是/a /i 表示不区分大小写,equ 和 == 是一样的,其它运算符参见 if/? if exist c:test.bat echo 存在c:test.bat文件 if not exist c:windows ( echo 不存在c:windows文件夹 ) if exist c:test.bat ( echo 存在c:test.bat ) else ( echo 不存在c:test.bat )
13、for循环
for %%i in (c: d: e: f:) do echo %%i 依次调用小括号里的每个字符串,执行 do 后面的命令 注意%%i,在批处理中 for 语句调用参数用2个% 默认的字符串分隔符是"空格键","Tab键","回车键" for %%i in (*.txt) do find "abc" %%i 对当前目录里所有的txt文件执行 find 命令
Windows批处理文件bat/cmd
最新推荐文章于 2022-01-17 15:02:49 发布