MS-DOS及Windows批处理文件的制作方法
WindowsDOS命令批处理脚本

WindowsDOS命令批处理脚本批处理程序简单来说,批处理程序就是 Windows ⾃带的脚本,可以在 cmd | powershell 中直接运⾏,若写成⽂件,后缀为 .bat⼩知识1. cmd 与 powershel 不区分⼤⼩写2. 命令⾏的运算操作,类似于 PHP3. DOS 是磁盘操作系统;命令提⽰符是 DOS 系统的界⾯中输⼊ DOS 命令的提⽰位置;cmd 是系统运⾏其⾃带 DOS 的命令;cmd.exe是⼀个 16 位的 DOS 应⽤程序4. PID 是 processid(进程号);IM 是 imaginename(映像名称)5. 在 .bat ⽂件开头加上@echo off代表不输出描述,⽐如C:\Users\14805\desktop>...这样的描述不会输出,直接输出结果6. 设置变量set a=10,输出变量echo %a%,设置变量表达式set /a b=%a%+1简单演⽰:: 两个冒号表⽰ cmd 的注释rem 也表⽰ cmd 的注释# ⼀个井号表⽰ powershell 的注释bat ⽂件内容:echo "Hello World!"pausecmd 运⾏指令:test.bat输出 "Hello World!"powershell 运⾏指令:.\test.bat输出 "Hello World!"覆盖与追加内容覆盖echo "hello world" > t.txt追加echo "hello world" >> t.txt查看内容type多命令运算短路ipconfig || net user从第⼀个执⾏,直到执⾏正确停⽌断路ipconfig && net user从第⼀个执⾏,直到执⾏错误停⽌net user查看所有⽤户net user查看帮助net user /?查看帮助完整版net user /help其他命令感觉有点危险,先不写了参数传递bat ⽂件内容:echo %1 %2poweshell 运⾏指令:.\test.bat Hello World!输出 Hello World!cmd 运⾏指令:年⽉⽇date输出当前⽇期: 2021-09-27date /T输出 2021-09-27时分秒time输出当前时间: 23:14:16.68time /T输出 23:14poweshell 运⾏指令:date输出 2021年9⽉27⽇ 23:14:49calltest.bat ⽂件内容:echo "Hello "call test2.battest2.bat ⽂件内容:echo "Wordl!"poweshell 运⾏指令:.\test.bat输出 Hello World!tasklist | taskill获取当前状态运⾏进程的列表tasklist获取指定要连接的远程系统的 tasklist tasklist /S 192.168.0.1 /U admin /S password其他参数:/FI ⽤于筛选 /FO 输出指定格数tasklist /FI "PID eq 3232" /FO csv > a.csvtaskkill 是关闭进程taskkill /IM notepad.exetree⽂件⽣成树tree输出C:.├───a├───b└───c换⼀种⽂件⽣成树tree /A输出C:.+---a+---b\---c详细⽂件⽣成树tree /F输出C:.├───a│ a.txt│├───b└───cshutdown打开 GUI 执⾏远程主机关机的操作shutdown /i关闭本地主机shutdown /p某个时间点执⾏某个作业at 21:56 "notepad.exe"删除某个作业at 2 /delete每天都在某个位置执⾏某个作业at 22:00 /every:M,T,W,Th,F,S,Su C:\Users\14805\desktop\payload.exe setcmd 运⾏指令:显⽰当前环境变量set输出环境变量值echo %OS%输出 Windows_NT操作⽂件夹创建⽂件夹mkdir testmd test重命名⽂件夹ren test test1将 a ⽂件夹中的⽂件复制到 b ⽂件夹copy a b删除⽂件夹rmdir testrd test删除⽂件del *.txt重命名⽂件move test.txt test1.txt移动⽂件move C:\a\test.txt C:\b\test.txt循环结构1.if () else ()2.if () else ()3. 循环⽂件夹# for /d %%名称 in (路径/*) do 具体操作.bat⽂件内容:打印当前⽂件夹下的所有⽂件夹for /d %%a in (*) do echo %%a4.循环⽂件# for /r "⽬录⽂件" %%名称 in (匹配规则,例如 *.py) do 具体操作.bat⽂件内容:打印当前⽂件夹下的所有.py⽂件for /r "C:\Users\14805\Desktop\abc" %%a in (*.py) do echo %%a5.循环数字# for /L %%a in (start,step,end) do 具体操作.bat⽂件内容:ping 168.0.0.1 ⾄ 168.0.0.20(传⼊参数 %1 等于 168.0.0)for /L %%a in (1,1,20) do ping %1.%%a6.循环⽂件中的内容# for /F %%a in (⽂件名) do 具体操作.bat⽂件内容:打印test.bat中的内容for /F %%a in (test.bat) do echo %%a 常⽤快捷键清屏cls显⽰当前⽬录dir (cmd | powershell)ls (powershell)打开当前⽂件夹start .查找⽂件dir *.txt (cmd | powershell)显⽰当前路径pwd (powershell)。
电脑怎么创建批处理文件方法步骤

电脑怎么创建批处理文件方法步骤批处理文件可以快速地进行批量处理。
很方便我们操作,那么它是如何创建的呢?下面店铺就以笔记本电脑为例子,跟大家分享具体的操作方法吧,希望对大家有所帮助~笔记本电脑创建批处理文件的两个方法笔记本电脑创建批处理文件的方法一:1、打开“计算机”,点击“组织”—“文件夹和搜索选项”;2、在文件夹选项中点击“查看”选卡,在“高级设置”中确保“隐藏已知文件类的扩展名”未被勾选,点击应用并确定;3、将命令输入到文本文档中,点击关闭按钮,在弹出的框中选择“保存”;4、将“新建文本文档.txt”单击右键,选择“重命名”,将后缀名“TXT”修改为“bat”按下回车键,在弹出的警告框中点击“是”即可。
笔记本电脑创建批处理文件的方法二:1、首先我们可以在任意位置新建一个“文本文档”;2、双击打开该文本文档,将“bat”命令输入进去:(这里以清理系统垃圾命令为例)@echo offecho 正在清除系统垃圾文件,请稍等......del /f /s /q %systemdrive%\*.tmpdel /f /s /q %systemdrive%\*._mpdel /f /s /q %systemdrive%\*.logdel /f /s /q %systemdrive%\*.giddel /f /s /q %systemdrive%\*.chkdel /f /s /q %systemdrive%\*.olddel /f /s /q %windir%\*.bakdel /f /s /q %windir%\prefetch\*.*rd /s /q %windir%\temp & md %windir%\tempdel /f /q %userprofile%\cookies\*.*del /f /q %userprofile%\recent\*.*del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"del /f /s /q "%userprofile%\Local Settings\Temp\*.*"del /f /s /q "%userprofile%\recent\*.*"echo 清除系统LJ完成!echo. & pause3、点击左上角的“文件”—“另存为”,将“保存类型”修改为“所有文件”,将文件名修改为“xitonghe.bat”(这里重点就是后面的后缀,一定要是“.bat”才行)然后点击保存;4、在使用的时候最好在该批处理上单击右键,选择“以管理员身份运行”即可。
如何建立批处理文件

2。点击左下角“开始”,选择点击“运行”,然后输入
notepad c:\batch.cmd
回车,其中c:\batch.cmd替换成你想要的路径及文件名,当记事本打开时会提示你文件不存在,是否创建,选择是。 然后再输入批处理代码并保存
3。打开MS-DOS(开始,运行,cmd回车;或开始,所有程序,附件,命令提示符), 在命令提示符下打命令
1。打开记事本,输入好批处理代码,点击“文件”,“另存为”,选好位置后在“文件名(N)”框里输入 "批处理文件名.bat" 或 "批处理文件名.cmd" ,注意包括引号在内,这里的引号为半角引号,也就是没开输入法情况下打出的引号。 “批处理文件名”几个字替换成你想要的文件名,bat或cmd是批处理的文件格式后辍。
copy con c:\batch.cmd
回车后直接输入批处理代码,当输入完毕后按ctrl+z(先按住ctrl键不松再按一下z键后都松开),回车后这个文件即创建好并已经填充好资源管理器“文件”菜单里)“查看”标签下的“隐藏已知文件类型的扩展名”前的勾去掉。在需要的位置直接右键,新建,文本文档。 然后打开此文档输入好代码保存退出,然后直接更改此文件为你需要的文件名加.cmd或.bat
dos命令创建文件的命令

dos命令创建文件的命令DOS(Disk Operating System)是一种最早的个人计算机操作系统,它使用命令行界面进行操作。
在DOS命令中,我们可以使用一系列命令来创建文件。
下面,我们将介绍几个常用的DOS命令,帮助大家生动、全面地了解如何使用这些命令来创建文件。
首先,我们要打开DOS窗口,通常可以通过在Windows操作系统上按下Win+R键,然后输入"cmd"来打开。
接下来,我们就可以在DOS 窗口中使用以下命令来创建文件。
1. 创建空白文件:使用"echo"命令可以创建一个空白的文本文件。
例如,我们可以输入以下命令来创建一个名为"test.txt"的空白文本文件: ```echo. > test.txt```这里的"echo."表示输出一个空行,通过将其重定向(使用">"符号)到"test.txt"文件中,就可以将一个空白文件创建成功。
2. 复制文件:使用"copy"命令可以将一个已有文件复制为一个新的文件。
例如,我们可以输入以下命令来将名为"source.txt"的文件复制为名为"target.txt"的新文件:```copy source.txt target.txt```这样,"source.txt"文件的内容将会被复制到"target.txt"文件中。
3. 创建文件夹:使用"mkdir"命令可以创建一个新的文件夹。
例如,我们可以输入以下命令来创建名为"documents"的文件夹:```mkdir documents```这样,一个名为"documents"的文件夹就会在当前目录下创建成功。
如何编写批处理文件

如何编写批处理文件批处理文件(batch file)包含一系列DOS命令,通常用于自动执行重复性任务。
用户只需双击批处理文件便可执行任务,而无需重复输入相同指令。
编写批处理文件非常简单,但难点在于确保一切按顺序执行。
编写严谨的批处理文件可以极大程度地节省时间,在应对重复性工作时尤其有效。
步骤注意:Linux 系统下的解决方案为 shell 脚本,而非批处理文件。
想要了解如何在 Linux 系统下编写 shell 脚本,请参阅这份指南。
1.打开记事本程序记事本程序可用来以文本文件格式编写代码,并将写好的代码以批处理文件格式保存。
单击“开始”→“应用程序”→“记事本”,或在运行对话框中输入 notepad 打开程序。
2.学习一些基本的批处理命令批处理文件需要运行一系列 DOS 命令,因此批处理文件的命令与DOS 命令较为相似。
以下是一些较为重要的命令:·ECHO ---------------------------- 隐藏通常显示的文字· @ECHO OFF ------------------ 用默认程序打开一个文件· START --------------------------- 用默认程序打开一个文件· REM ------------------------------ 在程序中插入一个注释行· MKDIR/RMDIR ---------------- 创建/删除目录· DEL - -----------------------------删除一个或多个文件· COPY ---------------------------- 复制一个或多个文件· XCOPY ---------------------------为复制文件添加更多选项· FOR/IN/DO - --------------------对文件进行说明· TITLE - ---------------------------编辑窗口标题3.编写程序以创建目录学习创建批处理文件的一个简单方法,便是首先专注于完成一项基本任务。
MS-DOS及Windows批处理文件的制作方法

MS-DOS及Windows批处理文件的制作方法批处理文件是无格式的文本文件,现在无盘清理基本都是靠它实现的,因为简单实用,它可以通过记事本编辑或者在命令提示符下使用edit命令编辑。
下面就是方便大家怎样创建批处理文件的:一简单批处理内部命令简介1.Echo 命令打开回显或关闭请求回显功能,或显示消息。
如果没有任何参数,echo 命令将显示当前回显设置。
语法echo [{on|off}] [message]Sample:@echo off / echo hello world在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。
2.@ 命令表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。
Sample:@echo off@echo Now initializing the program,please wait a minite...@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。
)3.Goto 命令指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
语法:goto label (label是参数,指定所要转向的批处理程序中的行。
)Sample:if {%1}=={} goto noparmsif {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。
)@Rem check parameters if null show usage:noparmsecho Usage: monitor.bat ServerIP PortNumbergoto end标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。
建立批处理文件

建立批处理文件批处理文件也叫批处理脚本,是计算机领域中非常重要的一种脚本。
它可以在计算机命令行窗口运行多个命令,从而能够自动执行多个相似的任务,帮助用户轻松完成一系列的操作。
建立批处理文件也有其独特的步骤,下面将为大家详细介绍。
第一步:打开记事本在Windows操作系统中,首先需要打开记事本。
这个步骤十分简单,只需要在电脑桌面上找到记事本的图标,然后双击即可打开。
也可以按下“Win + R”组合键,打开运行命令窗口,然后再输入notepad,按下回车键即可。
第二步:编写批处理文件代码编写批处理文件代码的时候需要注意一些基本规则。
第一,批处理文件需要以“@echo off”开始,这样可以关闭所有的输出。
第二,每个命令都需要单独一行。
最后,用“cls”命令清除命令行窗口。
例如,如果你像建立一个新的文件夹“example”并在其中创建新文件,可以输入以下批处理代码:mkdir example && cd example && echo Welcome to my blog! > myblog.txt第三步:保存文件在记事本中编写完批处理文件代码后,就需要把文件保存下来。
可以按下快捷键“Ctrl + S”或者在“文件”菜单栏选择“保存”来保存文件。
但需要注意的是,在保存到磁盘上的时候,需要在文件名后缀处输入“.bat”或“.cmd”作为扩展名,以便于让系统知道这是一个批处理脚本文件。
第四步:运行批处理文件最后一步就是运行批处理文件。
只需要在Windows命令行窗口中输入批处理文件的名称,同时加上“.bat”作为扩展名。
如果你的批处理文件保存在其他的目录下,可以输入文件的完整路径。
例如,在命令行窗口中输入“example.bat”,然后按下回车键,系统就会自动运行批处理文件,完成对“example”文件夹的创建和“myblog.txt”文件的写入。
总结:以上便是建立批处理文件的基本步骤。
常用DOS指令及批处理的编写

常用DOS内部指令
ECHO - 显示信息,或将命令回显打开或关上
格式: ECHO [ON | OFF]
ECHO [message] 说明:使用不带参数的echo命令可以查看当前的echo设置
@ -执行批处理时不回显@后面的命令 格式:@ command
19
常用DOS内部指令
试比较:执行批处理ab.bat和cd.bat有何不同 ab.bat 内容为 echo This is a prompt message cd.bat 内容为 @echo This is a prompt message
28
常用DOS内部指令
< - 输入重定向 格式:command < [file] 说明:使用输入重定向,可以使DOS指令或者应该程 序不需要从键盘读入数据,而直接从文件中逐个 读入,但要注意文件中数据要和指令和应用程序 匹配,否则会出错。 如,Y.txt中内容为 Y 试比较,输入命令 del c:\temp\*.* del c:\temp\*.* <Y.txt的区别.
17
常用DOS内部指令
type - 显示文本文件的内容 格式:type [drive:][path]filename
rem-在批处理或 CONFIG.SYS 里加上注解或说明 格式:rem [comment]
说明:type命令可以查看所有文本文件的内容,如 *.bat,*.txt等;rem注释的内容在批处理执行时会 被略过.
27
常用DOS内部指令
如,文件temp.txt的内容为:Any different? 文件result.txt的内容为: Hello, everyone!
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MS-DOS及Windows批处理文件的制作方法批处理文件是无格式的文本文件,现在无盘清理基本都是靠它实现的,因为简单实用,它可以通过记事本编辑或者在命令提示符下使用edit命令编辑。
下面就是方便大家怎样创建批处理文件的:一简单批处理内部命令简介1.Echo 命令打开回显或关闭请求回显功能,或显示消息。
如果没有任何参数,echo 命令将显示当前回显设置。
语法echo [{on|off}] [message]Sample:@echo off / echo hello world在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。
2.@ 命令表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。
Sample:@echo off@echo Now initializing the program,please wait a minite...@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。
)3.Goto 命令指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
语法:goto label (label是参数,指定所要转向的批处理程序中的行。
)Sample:if {%1}=={} goto noparmsif {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。
)@Rem check parameters if null show usage:noparmsecho Usage: monitor.bat ServerIP PortNumbergoto end标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。
最好有一些说明这样你别人看起来才会理解你的意图啊。
4.Rem 命令注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。
Rem MessageSample:@Rem Here is the description.5.Pause 命令运行 Pause 命令时,将显示下面的消息:Press any key to continue . . .Sample:@echo off:begincopy a:*.* d:\\backecho Please put a new disk into driver Apausegoto begin在这个例子中,驱动器 A 中磁盘上的所有文件均复制到d:\\back中。
显示的注释提示您将另一张磁盘放入驱动器 A 时,pause 命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。
6.Call 命令从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。
call 命令接受用作调用目标的标签。
如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用。
语法call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]参数[Drive:}[Path] FileName指定要调用的批处理程序的位置和名称。
filename 参数必须具有 .bat 或 .cmd 扩展名。
7.start 命令调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。
入侵常用参数:MIN 开始时窗口最小化SEPARATE 在分开的空间内开始 16 位 Windows 程序HIGH 在 HIGH 优先级类别开始应用程序REALTIME 在 REALTIME 优先级类别开始应用程序WAIT 启动应用程序并等候它结束parameters 这些为传送到命令/程序的参数执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用程序终止就返回命令提示。
如果在命令脚本内执行,该新行为则不会发生。
8.choice 命令choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。
使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。
它的返回码为1234……如: choice /c:dme defrag,mem,end将显示defrag,mem,end[D,M,E]?Sample:Sample.bat的内容如下:@echo offchoice /c:dme defrag,mem,endif errorlevel 3 goto defrag (应先判断数值最高的错误码)if errorlevel 2 goto memif errotlevel 1 goto end:defragc:\\dos\\defraggoto end:memmemgoto end:endecho good bye此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。
9.If 命令if 表示将判断是否符合规定的条件,从而决定执行不同的命令。
有三种格式:(1)、if "参数" == "字符串" 待执行的命令参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。
(注意是两个等号)如if "%1"=="a" format a:if {%1}=={} goto noparmsif {%2}=={} goto noparms(2)、if exist 文件名待执行的命令如果有指定的文件,则条件成立,运行命令,否则运行下一句。
如if exist config.sys edit config.sys(3)、if errorlevel / if not errorlevel 数字待执行的命令如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。
如if errorlevel 2 goto x2DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。
10.for 命令for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variablefor {%variable|%%variable} in (set) do command [ CommandLineOptions]%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。
可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable。
而不要用 %variable。
变量名称是区分大小写的,所以 %i 不同于 %I。
如果命令扩展名被启用,下列额外的 FOR 命令格式会受到支持: FOR /D %variable IN (set) DO command [command-parameters]如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。
FOR /R [[drive:]path] %variable IN (set) DO command [command-检查以 [drive:]path 为根的目录树,指向每个目录中的FOR 语句。
如果在 /R 后没有指定目录,则使用当前目录。
如果集仅为一个单点(.)字符,则枚举该目录树。
FOR /L %variable IN (start,step,end) DO command [command-para该集表示以增量形式从开始到结束的一个数字序列。
因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生序列 (5 4 3 2 1)。
FOR /F ["options"] %variable IN (file-set) DO commandFOR /F ["options"] %variable IN ("string") DO commandFOR /F ["options"] %variable IN (command) DO command或者,如果有 usebackq 选项:FOR /F ["options"] %variable IN (file-set) DO commandFOR /F ["options"] %variable IN ("string") DO commandFOR /F ["options"] %variable IN (command) DO commandfilenameset 为一个或多个文件名。
继续到 filenameset 中的下一个文件之前,每份文件都已被打开、读取并经过处理。
处理包括读取文件,将其分成一行行的文字,然后将每行解析成零或更多的符号。
然后用已找到的符号字符串变量值调用 For 循环。
以默认方式,/F 通过每个文件的每一行中分开的第一个空白符号。
跳过空白行。
您可通过指定可选"options"参数替代默认解析操作。
这个带引号的字符串包括一个或多个指定不同解析选项的关键字。
这些关键字为:eol=c - 指一个行注释字符的结尾(就一个)skip=n - 指在文件开始时忽略的行数。
delims=xxx - 指分隔符集。
这个替换了空格和跳格键的默认分隔符集。
tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代的 for 本身。
这会导致额外变量名称的格式为一个范围。
通过 nth 符号指定 m符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之分配并接受行的保留文本。
usebackq - 指定新语法已在下类情况中使用:在作为命令执行一个后引号的字符串并且引号字符为文字字符串命令并允许在 fi中使用双引号扩起文件名称。