问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

要写一个bat批处理文件,怎么写?

发布网友 发布时间:2022-05-19 17:13

我来回答

5个回答

热心网友 时间:2023-10-15 06:39

一.简单批处理内部命令简介
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 noparms
if { %2 }=={ } goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。)
@Rem check parameters if null show usage
:noparms
echo Usage: monitor.bat ServerIP PortNumber
goto end
标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来才会理解你的意图啊。

4.Rem 命令
注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。
Rem Message
Sample:@Rem Here is the description.

5.Pause 命令

运行 Pause 命令时,将显示下面的消息:
Press any key to continue . . .
Sample:
@echo off
:begin
copy a:*.* d://back
echo Please put a new disk into driver A
pause
goto 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 off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag (应先判断数值最高的错误码)
if errorlevel 2 goto mem
if errotlevel 1 goto end

:defrag
c://dos//defrag
goto end
:mem
mem
goto end
:end
echo 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 noparms
if { %2 }=={ } goto noparms

2、if exist 文件名 待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。
如if exist config.sys edit config.sys

3、if errorlevel / if not errorlevel 数字 待执行的命令
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。
如if errorlevel 2 goto x2
DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。

10.for 命令
for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable

for { %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

该集表示以增量形式从开始到结束的一个数字序列。

使用批处理文件

——常用命令

echo、@、call、pause、rem 是批处理文件最常用的几个命令,我们就从他们开始学起。 echo 表示显示此命令后的字符
echo off 表示在此语句后所有运行的命令都不显示命令行本身
@ 与echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。
call 调用另一条批处理文件(如果直接调用别的批处理文件 ,执行完那条文件后将无法执行当前文件后续命令)
pause 运行此句会暂停,显示Press any key to continue... 等待用户按任意键后继续
rem 表示此命令后的字符为解释行,不执行,只是给自己今后查找用的

例:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。

批处理文件的内容为: 文件表示:

echo off 不显示命令行

dir c:\*.* >a.txt 将c盘文件列表写入a.txt

call c:\ucdos\ucdos.bat 调用ucdos

echo 你好 显示"你好"

pause 暂停,等待按键继续

rem 使用wps 注释将使用wps

cd ucdos 进入ucdos目录

wps 使用wps

批处理文件中还可以像C语言一样使用参数,这只需用到一个参数表示符%。

%表示参数,参数是指在运行批处理文件时在文件名后加的字符串。变量可以从 %0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。

例如,C:根目录下一批处理文件名为f.bat,内容为 format %1

则如果执行C:\>f a: 则实际执行的是format a:

又如C:根目录下一批处理文件的名为t.bat,内容为 type %1 type %2

那么运行C:\>t a.txt b.txt 将顺序地显示a.txt和b.txt文件的内容

使用批处理文件

——特殊命令
if goto choice for 是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。

if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:
1、if "参数" == "字符串" 待执行的命令
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
如if "%1"=="a" format a:

2、if exist 文件名 待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。如if exist config.sys edit config.sys

3、if errorlevel 数字 待执行的命令
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。如if errorlevel 2 goto x2 DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码

goto 批处理文件运行到这里将跳到goto 所指定的标号处, 一般与if配合使用。 如:

goto end

:end
echo this is the end

标号用 :字符串 表示,标号所在行不被执行

choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……

如: choice /c:dme defrag,mem,end
将显示
defrag,mem,end[D,M,E]?

例如,test.bat的内容如下:
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag 应先判断数值最高的错误码
if errorlevel 2 goto mem
if errotlevel 1 goto end

:defrag
c:\dos\defrag
goto end

:mem
mem
goto end

:end
echo good bye

此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。

for 循环命令,只要条件符合,它将多次执行同一命令。

格式FOR [%%f] in (集合) DO [命令]
只要参数f在指定的集合内,则条件成立,执行命令

如果一条批处理文件中有一行:
for %%c in (*.bat *.txt) do type %%c
含义是如果是以bat或txt结尾的文件,则显示文件的内容。

使用批处理文件

——autoexec.bat

DOS在启动会自动运行autoexec.bat这条文件,一般我们在里面装载每次必用的程序,如: path(设置路径)、smartdrv(磁盘加速)、 mouse(鼠标启动)、mscdex(光驱连接)、 doskey(键盘管理)、set(设置环境变量)等。

如果启动盘根目录中没有这个文件,电脑会让用户输入日期和时间。

例如,一个典型的autoexec.bat内容如下:

@echo off 不显示命令行

prompt $p$g 设置提示符前有目录提示

path c:\dos;c:\;c:\windows;c:\ucdos;c:\tools 设置路径

lh c:\dos\doskey.com 加载键盘管理

lh c:\mouse\mouse.com 加载鼠标管理

lh c:\dos\smartdrv.exe 加载磁盘加速管理

lh c:\dos\mscdex /S /D:MSCD000 /M:12 /V 加载CD-ROM驱动

set temp=c:\temp 设置临时目录
参考资料:JoViSn

热心网友 时间:2023-10-15 06:39

为了你这个问题,我学习了批处理的基础知识,现在的情况是这样的:

因为你们在另一个环境下运行的,telnet,所以与cmd不相连

所以你要的功能是无法实现的,最主要是因为telnet通了后,它退出的时间太长且不定

建议,只能是自己观察结果了

热心网友 时间:2023-10-15 06:39

你写的没有错,如果它telnet成功了,它就会停在那里了,不会消失的,因为它已经telnet进去了,如果消失就是没有telnet成功嘛……
以前那些黑客用来看一个网段某个端口是否有可以telnet就是
用了for和start 这几个命令,只要telnet成功了,窗口就停在那里,相当方便……
如:
for /l %%j in (1,1,254) do start telnet 192.168.1.%%j 7001
(注意如何是bat文件里的是%%j,如果是在cmd里输入命令是%j,少了一个%)

热心网友 时间:2023-10-15 06:40

首先解决第一个问题
要想保持窗口命令改成:
start cmd /k telnet 219.133.59.99 7001
但我觉得保持这个窗口没多大用处吧,很显然你这个IP的7001端口不是提供的Telnet服务才会被自动退出,但由此可确定对方开了7001端口。
第二个问题,返回结果
这个问题应该用bat好像不能被实现吧,因为telnet.exe和cmd.exe已经在不同的两个环境了,成没有成功你只能自己看打开的窗口了

热心网友 时间:2023-10-15 06:41

@echo off R33
echo 正在清除系统垃圾文件,请稍等...... $eF&ui
del /f /s /q %systemdrive%\*.tmp B
del /f /s /q %systemdrive%\*._mp *
del /f /s /q %systemdrive%\*.log ;Q
del /f /s /q %systemdrive%\*.gid SQXYb*
del /f /s /q %systemdrive%\*.chk ]
del /f /s /q %systemdrive%\*.old @|%2)
del /f /s /q %systemdrive%\recycled\*.* ]H1X
del /f /s /q %windir%\*.bak 9Cqf<p
del /f /s /q %windir%\prefetch\*.* )*]s
rd /s /q %windir%\temp & md %windir%\temp ^fYk
del /f /q %userprofile%\cookies\*.* Q(![0
del /f /q %userprofile%\recent\*.* z;n
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*" 'Jm
del /f /s /q "%userprofile%\Local Settings\Temp\*.*" af*`[8
del /f /s /q "%userprofile%\recent\*.*" bD
echo 清除系统LJ完成! 9vhUF
echo. & pause d:7}

以上所有的复制 粘贴在文本文档中,然后把扩展名改成BAT的
双击就能运行了 很有用的 给分吧~~呵呵

参考资料:我一直用的

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
...括号内为杂质),所选用的试剂(足量)及操作方法均正确的是... ...所含的杂质以及除去这些杂质选用的试剂或操作方法,正确的是( ) 物... 佳能相机wifi传图片到电脑怎样将canon相机上的图片通过wifi导入电脑 佳能无线连电脑预览画面怎样将canon相机上的图片通过wifi导入电脑 支票丢了可以补办吗啊 存的支票找不到了怎么办 ...的时候总是连贯不起来,就像在一个单词一个单词的念一样。 每当我看见那些人用英语很自然交谈的时候,我就觉得他们非常的酷,我 每当听到一个英语长句,我的脑袋就发懵,总是仅仅听到其中几个单词 天玑800U和骁龙765G处理器对比有多大差距? 如何写一个批处理或vbs文件,模拟按下键盘上的空格键,隔5秒后,再模拟按一次空格键,然后退出运行 请问如何写一个批处理或vbs文件,模拟按下键盘上的空格键,隔5秒后,再模拟按一次空格键,然后退出运行 批处理文件怎样处理“按某个键继续”的步骤 如何用批处理文件写个命令,来实现双击左下角ctrl键的模拟键盘操作,谢谢! 禁用任务管理器或者ctrl.alt.del中的一个或两个键的dos批处理文件怎么写 VBS或者BAT怎么写组合键? 急急!!!! 如何使用批处理文件接收键盘输入,并且写入文本文档中? 批处理文件怎么写按下键盘上的某个键就停止? 如何用打开批处理(BAT)文件方式实现键盘上某个按键或组合键输入 如何写一个批处理重复按F1F2键? 微信怎样修改自己的名字和 改成什么比较有创意 公积金怎么提取到支付宝 电脑多少时间做一次系统合适? 电脑多长时间做一次系统?? 房屋租赁合同没到期能否续期 厨房瓷砖贴完后尺寸和毛坯差多少 厨房墙砖尺寸一般是多少? 厨房墙砖贴多高合适? 厨房墙面贴砖保证最薄用什么材料 DOS(批处理)怎么使用组合键命令 微信里的怎么改,不是名字 使用批处理发送组合键命令 认真观察下面的漫画,在看懂漫画内容的基础上,写出你的理解和感受,也可以借助漫画写一个故事。 作文六 - 信息提示 观察漫画生死抉择写一篇作文,要求:写出理解、感受或写个故事? 仔细观察,这幅漫画,你看到了什么?想到了什么?把它写成一篇作文。可以直接…… 仔细观察漫画,领会深刻寓意,完成作文。 自选角度,自拟题目,联系生活实际,写一篇不少于800字的文章 越卖胆越大 仔细观察下面的漫画,写一篇不少于400字的作文。。。。。。 漫画作文的格式是什么? 认真观察下面的漫画,写一篇作文,题目自定。 刑天舞干戚读后感100字 读后感:刑天舞干戚600字 《刑天舞干戚》读后感 求 刑天舞干戚 读后感,最好700字 《夸父逐日》《精卫填海》《刑天舞干戚》共同表现了一种什么样的精神?结合原文,论述你对这种精神的看法 读刑天舞干戚有感作文 读巜刑天舞干戚》有感作文 晋朝陶渊明《读山海经》第十句写到精卫衔微木,将以填沧海.刑天舞干戚,猛志故常在反映了古代人民怎样的愿望 《古代神话六则》盘古开天地·女娲补天·精卫填海·刑天舞干戚·夸父逐日·鲧禹治水·回答哪个都行
  • 焦点

最新推荐

猜你喜欢

热门推荐