DOS批处理脚本

合集下载

DOS批处理实例

DOS批处理实例

说明:(1)bat只用修改exe、lnk、kzm这三个参数,无其他设置(2)本文件放在需要绿化、卸载的主程序目录下(3)作者原创,谢绝转载@ECHO OFF&PUSHD %~DP0 &TITLE 绿化和卸载mode con cols=40 lines=20 //窗口宽度color A //文字颜色rem只用修改这三个参数,本文件放在主程序目录下set "exe=AcrobatPortable.exe" //设置绿化的程序名称set "lnk=AAXPPort" //设置创建的快捷方式名set "kzm=pdf" //设置需要注册的文件扩展名为pdfRd "%WinDir%\system32\test_permissions" >NUL 2>NULMd "%WinDir%\System32\test_permissions" 2>NUL||(echo *&&echo *&&echo *&&echo *&&echo *&&echo *&&echo *&&echo *&&Echo 用右键管理员身份运行,以对软件进行设置&&echo 获得更好的体验效果!&&echo *&&echo *&&echo *&&echo *&&echo *&&echo *&&echo *&&echo *&&ping -n 8 127.1>nul&&Exit)Rd "%WinDir%\System32\test_permissions" 2>NULSetLocal EnableDelayedExpansion:Menuif exist config.reg (goto Config) else (goto Install):Config@ echo.@ echo. *****软件已经绿化*****@ echo.@ echo. 创建桌面图标→ 请输入1@ echo.@ echo. 重新【绿化】→ 请输入2345 @ echo.@ echo. 卸载→ 请输入3456@ echo.set /p xj= 输入数字按回车:if /i "%xj%"=="1" Goto Establishif /i "%xj%"=="2345" Goto Installif /i "%xj%"=="3456" Goto Uninstall@ echo.echo 选择无效,请重新输入ping -n 2 127.1>nulclsgoto menu:Install@ echo.echo 开始绿化..请稍等...taskkill /f /im %exe%>NUL 2>NUL //结束进程mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(a.SpecialFolders(""Desktop"") & ""\%lnk%.lnk""):b.TargetPath=""%~dp0%exe%"":b.WorkingDirectory=""%~dp0"":b.Save:c lose")@ echo.@ echo.echo 创建快捷方式成功echo Windows Registry Editor Version 5.00>>Config.REGecho [HKEY_CLASSES_ROOT\.%kzm%]>>Config.REGecho @="%kzm%_auto_file">>Config.REGecho [HKEY_CLASSES_ROOT\%kzm%_auto_file\shell\open\command]>>Config.REG set res=%~dp0%exe%echo @="%res:\=\\% \"%%1\"">>Config.REGstart Config.REG@ echo.echo 注册表写入中,等待你的确认(点击【是】@ echo.goto fanhui:Establishmshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(a.SpecialFolders(""Desktop"") & ""\%lnk%.lnk""):b.TargetPath=""%~dp0%exe%"":b.WorkingDirectory=""%~dp0"":b.Save:c lose")@ echo.@ echo. 创建快捷方式成功@ echo.goto fanhui:Uninstall@ echo.@ echo. 正在卸载中..请稍等.if exist config.reg (del config.reg)if exist %USERPROFILE%\desktop\%lnk%.lnk (del /f %USERPROFILE%\desktop\%lnk%.lnk >NUL 2>NUL)reg delete "HKEY_CLASSES_ROOT\.%kzm%" /f >NUL 2>NULreg delete "HKEY_CLASSES_ROOT\%kzm%_auto_file" /f>NUL 2>NUL@ echo.@ echo. 卸载完成@ echo.ping -n 8 127.1>nulexit:fanhuipauseclsgoto config。

Dos命令进阶(三)---批处理(上)

Dos命令进阶(三)---批处理(上)

Dos命令进阶(三)---批处理(上)批处理脚本讲解思路一. 批处理介绍1、批处理的概述:批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。

它的构成没有固定格式,只要遵守以下这条就ok了:(1)每一行可视为一个命令,(2)每个命令里可以含多条子命令,(3)从第一行开始执行,直到最后一行结束,它运行的平台是DOS。

批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。

批处理文件的扩展名是BAT或者CMD,把任何一批命令放在有该扩展名的文件里,执行的时候都会按顺序逐条的执行, 在以后学习内容中, 还可以在其中加入一些逻辑判断的语句,即让里面的命令在满足一定条件时执行指定的命令。

2、举例说明:第一步:建立批处理文件新建一个文本文档,将名字改为第一个实例.bat创建批处理文件第一个实例.bat重命名第二步:写代码右键'第一个实例.bat'文件,选中“编辑”,然后写代码。

代码如下:@echo offecho 非常感谢所有条友的关注与支持!echo 感激不已, 惟有认真, 毫无保留的分享.pause编辑批处理脚本第三步:保存后,双击“第一个实例.bat”运行。

执行批处理脚本简单了解代码意思:@echo off 这一句是关闭回显(缺省回显是打开的),如果没有这一句的话会显示一些比较碍眼的信息。

echo 非常感谢所有条友的关注与支持!echo 感激不已, 惟有认真, 毫无保留的分享.上面两条指令的结果是在屏幕上打印echo后面的内容(如上图例脚本执行的结果)pause 这个pause,英文是暂停的意思,让脚本执行完上面的命令后等用户确认退出详细解释:(1)、echo off 关闭回显(即批处理中的命令语句不会显示)(2)、echo on 打开回显编辑中去除关闭回显的指令行开启回显执行的结果在CMD中解释一下回显是咋个意思(3)、符号“@”的意思是不显示它后面的命令语句,只显示命令执行的结果!把首行命令中的小老鼠符号去掉看看(4)、echo 用于显示echo命令的作用有两个,一个时在CMD上显示一行内容,如:echo 非常感谢所有条友的关注与支持!!还有一个是显示关闭命令的回显:echo off我们在echo off命令前加一个“@”符号是为了不让echo off这条命令本身显示出来,可以让批处理达到整体的美观!如测试以下代码:@echo offecho 你好echo 你好pause第二个实例再次解释一下:pause命令就是暂停的意思,防止批处理执行完毕后直接退出,执行到pause命令时CMD就会显示“请按任意键继续”这一行!3、基础知识补充前面几篇基础知识的链接:DOS基础命令汇总(一)DOS基础命令汇总(二,三,四,五)Dos命令进阶(一)---Net, NetstatDos 命令进阶(二)---FTP命令如果大家对那个DOS命令不明白,可以通过输入“命令”/? 或执行 'help 命令名'4、具体实例分析@echo offecho 正在清除系统垃圾文件,请稍后。

dos批处理start命令的参数bat脚本运行完毕后自动关闭窗口

dos批处理start命令的参数bat脚本运行完毕后自动关闭窗口

Dos批处理Start命令的参数,bat脚本运行完毕后自动关闭窗口Dos批处理命令bat文件运行完以后自动关闭dos窗口的方法:很多人运行完批处理命令发现dos窗口不能自动关闭,那是因为你在bat文件中直接执行了需要运行的某些外部程序,如果希望dos窗口自动关闭,那么,你可以使用start命令来执行该外部程序,而不是直接写上一行来执行。

例子说明:view plain copy start "CS" "c:\programmefiles\cs\half-life.exe" "/m" 上面只是一个使用格式的例子,即start "给窗口随便命个名" "带完整路径的程序程序" "程序需要传递的参数串(可省略)"当然,在你的批处理文件末尾,最好不要忘记加上一行:EXIT。

请问Start命令中的/w参数怎么用?我知道/w的大概意思是不回到提示符转到其它的程序。

我想执行一条命令:即运行完DIR后再执行其它命令START dir cd c:\ /w。

这条命令只能执行到DIR便不再执行下去了,是我的命令写错了吗?另请问在START命令中为什么不能执行内部命令,我的DIR 是做了一条批处理的。

【参考回复】请注意,Start会开启新窗口来运行程序,如果新窗口不正常退出,你的批处理就不能正常执行下去,所以如果你要用Start启用dir命令,一定要将dir命令写入一个批处理文件中,然后在批处理文件的最后面加上exit命令。

正确的用法应该是这样:1、建立使用dir命令的批处理如:test.batview plain copy @echo offdir c:\rem ....其它操作exit 2、在另一个批处理中调用该批处理:view plain copy ...start /wait call test.bat... 其实在这里就没有必要使用start /wait了,因为使用了call命令后,test.bat已经控制了流程,一定是在call结束后才会继续下一步的操作。

WindowsDOS命令批处理脚本

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)。

运行DOS批处理不显示DOS窗口的方法

运行DOS批处理不显示DOS窗口的方法

运行DOS批处理不显示DOS窗口的方法要在运行DOS批处理时隐藏DOS窗口,你可以使用以下方法:1. 使用VBScript编写脚本:创建一个VBScript脚本,命名为`hide.vbs`,并将以下代码复制到脚本中:```vbscriptSet objShell = CreateObject("WScript.Shell")objShell.Run "cmd /c your_batch_file.bat", 0, False```将`your_batch_file.bat`替换为实际的批处理文件名。

然后,双击运行`hide.vbs`脚本,它将以隐藏的方式运行批处理文件。

2.使用第三方工具:有许多第三方工具可用于隐藏DOS窗口并运行批处理文件。

其中一个常用的工具是`nircmd`。

你可以按照以下步骤来使用它:```start /min C:\nircmd\nircmd.exe exec hide"your_batch_file.bat"```将`C:\nircmd\nircmd.exe`替换为你解压`nircmd`的路径,并将`your_batch_file.bat`替换为实际的批处理文件名。

- 将批处理文件保存为扩展名为`.bat`的文件,并双击运行它。

它将以隐藏的方式运行批处理文件。

3.将批处理文件转换为可执行文件:你还可以使用一些软件将批处理文件转换为可执行文件(通常是EXE 或COM文件),这样当你运行它时就不会显示DOS窗口。

以下是一些可用的工具:- Advanced BAT to EXE Converter:这是一个商业软件,提供更多功能和选项来转换批处理文件为可执行文件。

无论使用哪种工具,你都需要按照软件的说明和向导来转换批处理文件为可执行文件。

一旦转换完成,你可以双击运行可执行文件,它将在后台运行批处理文件,而不会显示DOS窗口。

DOS(包含IF语法)批处理命令全集

DOS(包含IF语法)批处理命令全集

DOS批处理命令全集(echo@if的用法)本来以为批处理和DOS没什么联系,并且认为批处理一下就可以学完所以就决定一周之内完成学习。

学习了之后发现,批处理是一个庞大的体系,要想完全掌握在短期内是没有办法完成的。

它和DOS命令有着不可分割的联系。

说白了,批处理就是一大片的DOS命令。

所以要想完成掌握批处理就相当于要将DOS 命令完成学会,除此之后还得学习一些语法知识。

因此,一周之内是无法完成的,不过没有完成也得写总结啊,不然不白学了么!这也是我写这篇文章的目的之一。

我将首先将我自己掌握的用通俗的语言描绘出来,力争让没有一点DOS基础的人也能按照我的文章自己学下去。

要学批处理,那我们就有必要知道什么是批处理。

一看到名字,批处理嘛,那么肯定可以对文件进行批量的处理。

批处理包括两种,一种是DOS批处理,另一种是PS(PHOTOSHOP)批处理。

我研究的是前者,后者主要是对图片进行处理的,我暂时没有这个雅兴去研究这个,大家有兴趣可以去试一下,到时候教教我也好。

前面已经说过了,批处理就是对文件进行批量处理的。

那么DOS批处理应该就是对一大批的DOS 命令一起处理的意思,这样理解的话,那么好了,我们学习它就容易多了,以后只要多去背一下DOS命令然后就可以写批处理文件了。

晕!忘了说怎么建立一个批处理文件了。

其实也很简单,可能我不说大家也知道。

就是这样建立的:打开一个记事本---在里面写上你的DOS命令---保存--命名以BAT为后缀(就是batch了,批处理的英文)。

行了,批处理文件建立成功了。

行了,现在废话少说,进入正题!开始我们的批处理语法及一些主要命令。

首先,我看到的最陌生的命令---echo。

这个命令我开始看的时候比较陌生,不太明白是干什么用的。

看完资料后自己试验了一下才明白它的具体作用。

下面我用通俗的语言还解释一下(避免用官方语言解释,免得大家都睡着了)。

ECHO在英文中就是回显的意思,就相当于C语言中的printf,例如ECHOHELLOWORLD,就相当于将HELLOWORLD打印出来。

最全的DOS命令帮助程序批处理代码

最全的DOS命令帮助程序批处理代码
都是生成a.txt的帮助文档 复制代码 代码如下:
@echo off color 0e :ks cls echo ========================== echo 欢迎使用批处理帮助程序 echo %DATE% (by:诗酒飘零) echo ========================== echo. echo 请输入你想查询的批处理命令? echo (q键退出;h键帮助) echo. set /p lc= ★命令★: if %lc%==q goto e if %lc%==h help %lc% /? >a.txt if errorlevel 1 goto no if errorlevel 0 goto yes :yes start a.txt goto ks :no echo ========================================== echo 找不到你要的批处理命令,请检查后重新输入命令! echo ========================================= del a.txt pause call %0 :e del a.txt exit
也动打开跟脚本之家发布的上面那个类似想学习批处理的朋友可以参考下
最全的 DOS命令帮助程序批处理代码
根据命令命名的txt 复制代码 代码如下:
@echo off :z @cls @set /p "d=输入要BAT指令:" @ %d% /? > %d%.txt goto z goto z

用批处理让DOS做算数运算

用批处理让DOS做算数运算

问题。
-----------------------------------------------
:sub
set /a shu_1=%random:~-1%
set /a shu_3=%random:~-1%
if %shu_1% leq %shu_3% (set /a shu_2=%shu_1% && set /a shu_1=%shu_3%) else set /a shu_2=%shu_3%
:add
set /a shu_1=%random:~-1%
set /a shu_2=%random:~-1%
set /a jieguo_1=%shu_1%+%shu_2%
set jieguo=
set/p jieguo=%shu_1%+%shu_2%=
if "%jieguo%"=="q" goto :exit
用批处理让DOS运算加法减法乘法除法
@echo off
:chushi
cls
set /a zque=0
set /a cwu=0
echo.
echo ---------------------加减法程序-------------------
echo 程序功能说明:
echo 1、产生两个随机数的加减法;
set /a jieguo_1=%shu_1%-%shu_2%
set jieguo=
set/p jieguo=%shu_1%-%shu_2%=
if "%jieguo%"=="%jieguo_1%" goto :right

批处理入门手册之批处理常用DOS命令篇(attrib、del、copy、xcopy)

批处理入门手册之批处理常用DOS命令篇(attrib、del、copy、xcopy)

批处理⼊门⼿册之批处理常⽤DOS命令篇(attrib、del、copy、xcopy)1.2 学习attrib del copy xcopy命令学习要点:1。

设置⽂件属性:attrib2。

删除命令:del3。

复制⽂件:copy4。

复制⽂件(夹):xcopy⼀、设置⽂件属性:attrib显⽰或更改⽂件属性。

ATTRIB [ R | -R] [ A | -A ] [ S | -S] [ H | -H] [[drive:] [path] filename] [/S [/D]]设置属性。

- 清除属性。

R 只读⽂件属性。

A 存档⽂件属性。

S 系统⽂件属性。

H 隐藏⽂件属性。

[drive:][path][filename] 指定要处理的⽂件属性。

/S 处理当前⽂件夹及其⼦⽂件夹中的匹配⽂件。

/D 也处理⽂件夹。

1。

查看⽂件的⽂件属性格式:ATTRIB [drive:][path][filename]例1,attrib d:\ pagefile.sys查看d:\ pagefile.sys⽂件的属性。

2。

修改⽂件的属性。

格式:attrib ?属性例1,attrib –h d:\ pagefile.sys消除d:\ pagefile.sys的“隐藏”属性。

例2,attrib s h d:\ pagefile.sys给d:\ pagefile.sys设置“系统”和“隐藏”属性。

3。

批量⽂件处理例1,attrib h d:\123\*.bat /s通过/s参数可批量将d:\123及其⼦⽬录下的所有bat⽂件设置为“隐藏”属性.例2,attrib h d:\123 /s /d将d:\123及其下所有同名为123的⼦⽬录设置为“隐藏”属性.参数/d必须在批量设置⽂件属性的同时,对指定⽬录及其下所有⼦⽬录进⾏⽂件属性操作。

参数/d可以理解为“directory”(⽬录),也就是说/d 必需和/s⼀起使⽤。

思考:“attrib h d:\123 /s /d”和“attrib h d:\123\*.* /s /d”有什么区别呢?前者只有d:\123以及它同名的⼦⽬录设为了“隐藏”,⽽其它⽂件及⼦⽬录都没有设置“隐藏”。

dos批处理实例800例

dos批处理实例800例

dos批处理实例800例一、文件管理1. 批量重命名:将所有以“.txt”结尾的文件的后缀改为“.bat”。

批处理代码:ren *.txt *.bat2. 批量复制:将D盘根目录下的所有文件复制到E盘的相应文件夹中。

批处理代码:xcopy /s d:*.* e:\*.*3. 批量删除:将E盘根目录下以“.bak”结尾的文件删除。

批处理代码:del e:\*.bak /f /q二、系统设置1. 清理临时文件:删除系统临时文件夹中的所有文件。

批处理代码:del /q %temp%*.*2. 自动关机:在满足某个条件后自动关机。

例如,当磁盘可用空间低于10%时。

批处理代码:shutdown /s /t 10 /c “%date% %time% 磁盘空间不足”3. 修改系统时间:将系统时间向前或向后调整一小时。

批处理代码:echo %time% > time.txt && timeout /t 1 >nul && del time.txt三、软件安装与卸载1. 安装软件:使用批处理安装程序,自动完成一系列安装步骤。

批处理代码:setup.exe /install2. 卸载软件:使用批处理卸载程序,一键完成卸载。

批处理代码:setup.exe /uninstall四、数据备份与恢复1. 备份数据:将C盘根目录下的所有文件备份到D盘中。

批处理代码:xcopy c: *.* d:\_backup\*.bak /e /y2. 恢复数据:从D盘根目录下恢复文件到C盘中。

批处理代码:xcopy d:_backup\*.bak c:\*.* /e /y3. 压缩备份文件:将备份文件压缩为zip格式。

批处理代码:zip -r backup.zip _backup\ -x *.bak.bak五、网络管理1. 批量下载:批量下载多个网址中的文件,并保存到指定文件夹中。

批处理代码:for /r %url% do download.exe %url%D:\downloads\其中,%url%为网址文件夹路径,download.exe为下载工具程序。

DOS批处理脚本

DOS批处理脚本

DOS批处理脚本第一章这是一篇技术教程,真心诚意会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识。

写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可以让事情变的更简单,那么就让它简单吧!看这篇教程的方法,就是慢!慢慢的,如同品一个女人、一杯茗茶,你会发现很多以前就在眼前的东西突然变的很遥远,而有些很遥远的东西却又突然回到了眼前。

.先概述一下批处理是个什么东东。

批处理的定义,至今我也没能给出一个合适的----众多高手们也都没给出----反正我不知道----看了我也不一定信服----我是个菜鸟,当然就更不用说了;但我想总结出一个“比较合适的”,而且我也相信自己可以把它解释的很清楚,让更多的菜鸟都知道这是个什么东东,你用这个东东可以干什么事情。

或许你会因为这篇文章而“无条件爱上批处理”,那么我的目的就达到了----我就是要让你爱上它,我就这么拽,你能怎么着??真的,爱有时候就这么拽,就是这么没理由,就是这么不要脸!真的!按照我的理解,批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。

OK,never claver and get to business(闲话少说言归正传)。

批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT 就取的前三个字母。

它的构成没有固定格式,只要遵守以下这条就ok了:每一行可视为一个命令,每个命令里可以含多条子命令,从第一行开始执行,直到最后一行结束,它运行的平台是DOS。

批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。

我不想让自己写的教程枯燥无味,因为牵缠到代码(批处理的内容算是代码吧?)的问题本来就是枯燥的,很少有人能面对满屏幕的代码而静下心来。

所以我会用很多简单实用的例子让读这篇教程的朋友去体会批处理的那四射的魅力,感受它那古灵精怪的性格,不知不觉中爱上批处理(晕,怎么又是爱?到底批处理和爱有什么关系?答案:没有!)。

DOS批处理 教程精选 简单易懂

DOS批处理 教程精选 简单易懂

从简单学起echo、@、call、pause、rem是批处理文件最常用的几个命令,我们就从他们开始学起。

echo表示显示此命令后的字符echo off表示在此语句后所有运行的命令都不显示命令行本身@与echo off 相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。

call调用另一条批处理文件(如果直接调用别的批处理文件,执行完那条文件后将无法执行当前文件后续命令)pause运行此句会暂停,显示Press any key to continue...等待用户按任意键后继续rem表示此命令后的字符为解释行,不执行,只是给自己今后查找用的批处理命令大全(一)第一部分:批处理的专用命令批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。

这些命令统称批处理命令,下面我就来给大家介绍一下批处理的命令。

1、REMREM是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。

例:REM你现在看到的就是注解,这一句将不会被执行。

在以后的例子中解释的内容都REM会放在REM后面。

请大家注意。

2、ECHOECHO是一个回显命令主要参数有OFF和ON,一般用ECHOmessage来显示一个特定的消息。

例:Echo offRem以上代表关闭回显即不显示所执行的命令Echo这个就是消息。

Rem以上代表显示“这就是消息”这列字符执行结果:C:\>这个就是消息。

3、GOTOGOTO即为跳转的意思。

在批处理中允许以“:XXX”来构建一个标号然后用GOTO:标号直接来执行标号后的命令。

例:LABELREM上面就是名为LABEL的标号。

DIR C:\DIR D:\GOTO LABELREM以上程序跳转标号LABEL处继续执行。

4、CALLCALL命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。

例:批处理内容如下:ECHO这就是2的内容批处理内容如下:ECHO这是1的内容CALLECHO 1和2的内容全部显示完成执行结果如下:C:\>这是1的内容这就是2的内容1和2的内容全部显示完成5、PAUSEPAUSE停止系统命令的执行并显示下面的内容。

DOS批处理高级教程

DOS批处理高级教程

DOS批处理高级教程1.批处理基础1.1.第一节常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD。

这些命令统称批处理命令。

小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程。

了解了大概意思后,我们正式开始学习.先看一个简单的例子!1.@echo off2.echo "欢迎来到非常BAT!"3.pause复制代码把上面的3条命令保存为文件test.bat或者test.cmd然后执行,他就会在屏幕上显示以下二行话:欢迎来到非常BAT!请按任意键继续. . .这就是一个简单批处理文件了,这个批处理文件一共就用了2条命令 "echo" 和"pause" 还有一个特殊符号"@"从上面这个简单的批处理中,我们可以发现其实批处理就是运用一些含有特殊意义的符号和一些完成指定功能的命令组合而成,那么在批处理中有多少这样的特殊符号和功能命令呢?我们现在就来仔细了解一下一些最常用的!批处理的常见命令(未列举的命令还比较多,请查阅帮助信息)1、REM 和 ::2、ECHO 和 @3、PAUSE4、ERRORLEVEL5、TITLE6、COLOR7、mode 配置系统设备8、GOTO 和 :9、FIND10、START11、assoc 和 ftype12、pushd 和 popd13、CALL14、shift15、IF16、setlocal 与变量延迟17、ATTRIB 显示或更改文件属性介绍命令1、REM 和 ::REM为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。

其次, :: 也可以起到rem 的注释作用, 而且更简洁有效; 但有两点需要注意:第一, 任何以冒号:开头的字符行, 在批处理中都被视作标号, 而直接忽略其后的所有内容。

关于DOS下.bat批量处理的详细解释

关于DOS下.bat批量处理的详细解释

==== 注 ===================
批处理文件中完全可以使用非dos命令,甚至可以使用不具有可执行特性的普通数据性文件,这缘于windows系统这个新型解释平台的涉入,使得批处理的应用越来越"边缘化"。所以我们讨论的批处理应该限定在dos环境或者命令行环境中,否则很多观念和设定都需要做比较大的变动。
==== 注 ==================
批处理文件(batch file)也可以称之为批处理程序(batch program),这一点与编译型语言有所不同,就c语言来说,扩展名为c或者cpp的文件可以称之为c语言文件或者c语言源代码,但只有编译连接后的exe文件才可以称之为c语言程序。因为批处理文件本身既具有文本的可读性,又具有程序的可执行性,这些称谓的界限是比较模糊的。
若要用echo命令显示一条命令,可用下述语法:
echo [message]
参数
ON|OFF
指定是否允许命令的回显。若要显示当前的ECHO的设置,可使用不带参数的ECHO
命令。
message
指定让MS-DOS在屏幕上显示的正文。
-------------------
==== 注 =====
纯以dos系统而言,可执行程序大约可以细分为五类,依照执行优先级由高到低排列分别是:DOSKEY宏命令(预先驻留内存),中的内部命令(根据内存的环境随时进驻内存),以com为扩展名的可执行程序(由 直接载入内存),以exe位扩展名的可执行程序(由 重定位后载入内存),以bat位扩展名的批处理程序(由 解释分析,根据其内容按优先级顺序调用第2,3,4,5种可执行程序,分析一行,执行一行,文件本身不载入内存)

Dos命令:批处理

Dos命令:批处理

Dos命令:批处理批处理⼀、call命令1、介绍从批处理程序调⽤另⼀个批处理程序。

2、语法CALL [drive:][path]filename [batch-parameters]batch-parameters 指定批处理程序所需的命令⾏信息。

如果命令扩展被启⽤,CALL 会如下改变:CALL 命令现在将卷标当作 CALL 的⽬标接受。

语法是:CALL:label arguments⼀个新的批⽂件上下⽂由指定的参数所创建,控制在卷标被指定后传递到语句。

你必须通过达到批脚本⽂件末两次来 "exit" 两次。

第⼀次读到⽂件末时,控制会回到 CALL 语句的紧后⾯。

第⼆次会退出批脚本。

键⼊ GOTO /?,参看另外,批脚本⽂本参数参照(%0、%1、等等)已如下改变:批脚本⾥的 %* 指出所有的参数(如 %1 %2 %3 %4 %5 ...)批参数(%n)的替代已被增强。

你可以使⽤以下语法:%~1 - 删除引号("),扩展 %1%~f1 - 将 %1 扩展到⼀个完全合格的路径名%~d1 - 仅将 %1 扩展到⼀个驱动器号%~p1 - 仅将 %1 扩展到⼀个路径%~n1 - 仅将 %1 扩展到⼀个⽂件名%~x1 - 仅将 %1 扩展到⼀个⽂件扩展名%~s1 - 扩展的路径只含有短名%~a1 - 将 %1 扩展到⽂件属性%~t1 - 将 %1 扩展到⽂件的⽇期/时间%~z1 - 将 %1 扩展到⽂件的⼤⼩%~$PATH:1 - 查找列在 PATH 环境变量的⽬录,并将 %1扩展到找到的第⼀个完全合格的名称。

如果环境变量名未被定义,或者没有找到⽂件,此修改符会扩展到空字符串可以组合修改符来取得多重结果:%~dp1 - 只将 %1 扩展到驱动器号和路径%~nx1 - 只将 %1 扩展到⽂件名和扩展名%~dp$PATH:1 - 在列在 PATH 环境变量中的⽬录⾥查找 %1,并扩展到找到的第⼀个⽂件的驱动器号和路径。

Windos批处理(bat)脚本——字符串操作

Windos批处理(bat)脚本——字符串操作

Windos批处理(bat)脚本——字符串操作Windows批处理有着具有非常强大的字符串处理能力,其功能绝不低于C语言里面的字符串函数集。

批处理中可实现的字符串处理功能有:截取字符串内容、替换字符串特定字段、合并字符串、扩充字符串等功能。

下面对这些功能一一进行讲解。

、1.截取字符串截取字符串可以说是字符串处理功能中最常用的一个子功能了,能够实现截取字符串中的特定位置的一个或多个字符。

举例说明其基本功能:====================================== ===@echo offset ifo=abcdefghijklmnopqrstuvwxyz0 12 3456789echo 原字符串(第二行为各字符的序号):echo %ifo%echo 1234567890 123 45678901234567890123456echo 截取前5个字符:echo %ifo:~0,5%echo 截取最后5个字符:echo %ifo:~-5%echo 截取第一个到倒数第6个字符:echo %ifo:~0,-5%echo 从第4个字符开始,截取5个字符:echo %ifo:~3,5%echo 从倒数第14个字符开始,截取5个字符:echo %ifo:~-14,5%pause====================================== ===当然,上面的例子只是将字符串处理的基本功能展示出来了,还看不出字符串处理具体有什么用处。

下面这个例子是对时间进行处理。

=========================================@echo offecho 当前时间是:%time% 即%time:~0,2%点%time:~3,2%分%time:~6,2%秒%time:~9,2%厘秒pause=========================================2.替换字符串替换字符串,即将某一字符串中的特定字符或字符串替换为给定的字符串。

DOS内部命令和批处理命令列表

DOS内部命令和批处理命令列表

DOS内部命令和批处理命令列表命令:CALL功能:在批处理文件中调用批处理文件.CALL [驱动器:][路径]文件名 [批命令参数]批命令参数 指定批处理文件所需的命令行参数.命令:CD/CHDIR功能:显示或改变当前目录.CHDIR [驱动器:][路径]CHDIR[..]CD [驱动器:][路径]CD[..].. 表示当前目录改变成父目录.键入 CD [驱动器:], 可显示指定驱动器的当前目录.键入不带参数的 CD 可显示当前驱动器和当前目录.命令:CLS功能:清除屏幕。

CLS命令:COPY功能:文件拷贝.COPY [/A | /B] source [/A | /B] [+ source [/A | /B] [+ ...]] [destination[/A | /B]] [/V] [/Y | /‐Y]source 指定被拷贝的文件./A 表示 ASCII 正文文件./B 表示二进制文件.destination 指定新文件的目录和文件名./V 校验新文件是否正确./Y 在重写原有的目标文件之前, 不让你确认./‐Y 在重写原有的目标文件之前, 让你确认.开关项 /Y 可由环境变量 COPYCMD 预设.‐Y 可以更改预设值.要合并多个文件时, 可指定单个目标文件, 但指定多个源文件(使用通配符或 文件1+文件2+文件3 格式).命令:DATE功能:显示或设置日期。

DATE [日期]显示当前日期设置和输入新日期的提示,请键入不带参数的 DATE。

要保留现有日期,请按 ENTER。

命令:DEL/ERASE功能:删除文件.DEL [驱动器:][路径]文件名 [/P]ERASE [驱动器:][路径]文件名 [/P][驱动器:][路径]文件名 指定被删除的文件, 用通配符指定多个文件./P 删除每个文件之前显示确认信息.命令:DIR功能:显示目录中的文件和子目录列表。

DIR [驱动器:][路径][文件名] [/P] [/W] [/A[[:]属性]][/O[[:]排序方式]] [/S] [/B] [/L] [/V] [/4][驱动器:][路径][文件名]指定列出的驱动器, 目录或文件。

Dos批处理Start命令的参数,bat脚本运行完毕后自动关闭窗口

Dos批处理Start命令的参数,bat脚本运行完毕后自动关闭窗口

Dos批处理Start命令的参数,bat脚本运行完毕后自动关闭窗口Dos批处理命令bat文件运行完以后自动关闭dos窗口的方法:很多人运行完批处理命令发现dos窗口不能自动关闭,那是因为你在bat文件中直接执行了需要运行的某些外部程序,如果希望dos 窗口自动关闭,那么,你可以使用start命令来执行该外部程序,而不是直接写上一行来执行。

例子说明:view plain copy1.start "CS" "c:\programme files\cs\half-life.exe" "/m"上面只是一个使用格式的例子,即start "给窗口随便命个名" "带完整路径的程序程序" "程序需要传递的参数串(可省略)"当然,在你的批处理文件末尾,最好不要忘记加上一行:EXIT。

请问Start命令中的/w参数怎么用?我知道/w的大概意思是不回到提示符转到其它的程序。

我想执行一条命令:即运行完DIR后再执行其它命令START dir cd c:\ /w。

这条命令只能执行到DIR便不再执行下去了,是我的命令写错了吗?另请问在START命令中为什么不能执行内部命令,我的DIR是做了一条批处理的。

【参考回复】请注意,Start会开启新窗口来运行程序,如果新窗口不正常退出,你的批处理就不能正常执行下去,所以如果你要用Start启用dir命令,一定要将dir命令写入一个批处理文件中,然后在批处理文件的最后面加上exit命令。

正确的用法应该是这样:1、建立使用dir命令的批处理如:test.batview plain copy1.@echo off2.dir c:\3.rem ....其它操作4.exit2、在另一个批处理中调用该批处理:view plain copy1....2.start /wait call test.bat3....其实在这里就没有必要使用start /wait了,因为使用了call命令后,test.bat已经控制了流程,一定是在call结束后才会继续下一步的操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DOS批处理脚本这是一篇技术教程,真心诚意会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识。

写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可以让事情变的更简单,那么就让它简单吧!看这篇教程的方法,就是慢!慢慢的,如同品一个女人、一杯茗茶,你会发现很多以前就在眼前的东西突然变的很遥远,而有些很遥远的东西却又突然回到了眼前。

.先概述一下批处理是个什么东东。

批处理的定义,至今我也没能给出一个合适的----众多高手们也都没给出----反正我不知道----看了我也不一定信服----我是个菜鸟,当然就更不用说了;但我想总结出一个“比较合适的”,而且我也相信自己可以把它解释的很清楚,让更多的菜鸟都知道这是个什么东东,你用这个东东可以干什么事情。

或许你会因为这篇文章而“无条件爱上批处理”,那么我的目的就达到了----我就是要让你爱上它,我就这么拽,你能怎么着??真的,爱有时候就这么拽,就是这么没理由,就是这么不要脸!真的!按照我的理解,批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。

OK,never claver and get to business(闲话少说言归正传)。

批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。

它的构成没有固定格式,只要遵守以下这条就ok了:每一行可视为一个命令,每个命令里可以含多条子命令,从第一行开始执行,直到最后一行结束,它运行的平台是DOS。

批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。

我不想让自己写的教程枯燥无味,因为牵缠到代码(批处理的内容算是代码吧?)的问题本来就是枯燥的,很少有人能面对满屏幕的代码而静下心来。

所以我会用很多简单实用的例子让读这篇教程的朋友去体会批处理的那四射的魅力,感受它那古灵精怪的性格,不知不觉中爱上批处理(晕,怎么又是爱?到底批处理和爱有什么关系?答案:没有!)。

再说句“闲话”:要学好批处理,DOS基础一定要牢!当然脑子灵活也是很重要的一方面。

例一、先给出一个最easy的批处理脚本让大家和它混个脸熟,将下面的几行命令保存为name.bat然后执行(以后文中只给出代码,保存和执行方式类似):ping > a.txtping >> a.txtping >> a.txtping >> a.txtping >> a.txtping >> a.txtping >> a.txtping >> a.txtexit是不是都能看的懂?是不是很easy?但它的作用却是很实用的,执行这个批处理后,可以在你的当前盘建立一个名为a.txt的文件,它里面记录的信息可以帮助你迅速找到速度最快的QQ服务器,从而远离“从服务器中转”那一痛苦的过程。

这里>的意思,是把前面命令得到的东西放到后面所给的地方,>>的作用,和>的相同,区别是把结果追加到前一行得出的结果的后面,具体的说是下一行,而前面一行命令得出的结果将保留,这样可以使这个a.txt文件越来越大(想到如何搞破坏了??)。

By the way,这个批处理还可以和其他命令结合,搞成完全自动化判断服务器速度的东东,执行后直接显示速度最快的服务器IP,是不是很爽?后面还将详细介绍。

例二、再给出一个已经过时的例子(a.bat):@echo offif exist C:\Progra~1\Tencent\AD\*.gif del C:\Progra~1\Tencent\AD\*.gifa.bat为什么说这是个过时的例子呢?很简单,因为现在已经几乎没有人用带广告的QQ了(KAO,我的QQ还显示好友三围呢!!),所以它几乎用不上了。

但曾经它的作用是不可小窥的:删除QQ的广告,让对话框干干净净。

这里用的地址是QQ的默认安装地址,默认批处理文件名为a.bat,你当然可以根据情况自行修改。

在这个脚本中使用了if命令,使得它可以达到适时判断和删除广告图片的效果,你只需要不关闭命令执行后的DOS窗口,不按CTRL+C强行终止命令,它就一直监视是否有广告图片(QQ也再不断查看自己的广告是否被删除)。

当然这个脚本占用你一点点内存,呵呵。

例三,使用批处理脚本查是否中冰河。

脚本内容如下:@echo offnetstat -a -n > a.txttype a.txt | find "7626" && echo "Congratulations! You have infected GLACIER!" del a.txtpause & exit这里利用了netstat命令,检查所有的网络端口状态,只需要你清楚常见木马所使用的端口,就能很easy的判断出来是否被人种了冰河。

然这不是确定的,因为冰河默认的端口7626,完全可以被人修改。

这里介绍的只是方法和思路。

这里介绍的是方法和思路稍做改动,就变成可以检查其他木马的脚本了,再改动一下,加进去参数和端口及信息列表文件后,就变成自动检测所有木马的脚本了。

呵呵,是不是很过瘾?脚本中还利用了组合命令&&和管道命令|,后面将详细介绍。

例四,借批处理自动清除系统垃圾,脚本如下:@echo offif exist c:\windows\temp\*.* del c:\windows\temp\*.*if exist c:\windows\Tempor~1\*.* del c:\windows\Tempor~1\*.*if exist c:\windows\History\*.* del c:\windows\History\*.*if exist c:\windows\recent\*.* del c:\windows\recent\*.*将以上脚本内容保存到autoexec.bat里,每次开机时就把系统垃圾给自动删除了。

这里需要注意两点:一、DOS不支持长文件名,所以就出现了Tempor~1这个东东;二、可根据自己的实际情况进行改动,使其符合自己的要求。

怎么样,看到这里,你对批处理脚本是不是已经有点兴趣了?是不是发现自己已经慢慢爱上了这个东东?别高兴的太早,爱不是一件简单的事,它也许能带给你快乐和幸福,当然也能让你痛苦的想去跳楼。

如果你知道很难还敢继续的话,I 服了 YOU!继续努力吧,也许到最后你不一定得到真爱(真的有这可能,爱过的人都知道),但你可以体会到整个爱的过程,就是如此。

酸、苦和辣,有没有甜天知道。

为什么会把批处理和爱情扯上关系?不是我无聊,也不是因为这样写有趣多少,原因有二:其一,批处理和爱情有很多相同的地方,有些地方我用“专业”的行话解释不清(我不怀疑自己的表达能力,而是事情本身就不好说清楚),说了=没说,但用地球人都知道的爱情一比喻(爱情是什么?我**怎么知道!!),没准你心里一下就亮堂了,事半功倍,何乐而不为?其二,我这段时间状态不是很好,感冒发烧头疼鼻塞,但主要还是感情上精神摧残,搞的人烦透了,借写教程之际感慨几句,大家就全当买狗皮膏药了,完全可以省略不看(也许还真有点效果----不至于让你看着看着就睡着了,把头磕了来找我报销医药费)。

说不定下次的教程中大家还会看到杨过、张无忌等金老前辈笔下的英雄们。

看过第一章的朋友,一定对批处理有了初步的印象,知道它到底是用来干什么的了。

但你知道运用批处理的精髓在哪里吗?其实很简单:思路要灵活!没有做不到的,只有想不到的。

这和爱情就有点不同了,因为爱情的世界是两个人的世界,一厢情愿不叫爱情(补充:那叫单恋。

废话!)而批处理却是一个人的天堂,你可以为所欲为,没有达不到的境界!批处理看起来杂乱无章,但它的逻辑性之强,绝对不比其他程序语言(如汇编)低,如果你写的脚本是一堆乱麻,虽然每一行命令都正确,但从头执行到尾后,不一定得到你想要的结果,也许是一屏幕的Bad command or fail name。

这又和爱情有了共同点:按步骤来经营,缺少或增多的步骤都可能导致不想看见的结果。

陷入爱河的朋友,相信没有不肯定这句话的。

我的爱情批处理,输出的结果不是Bad command or fail name,屏幕是这么显示的:…你的爱情‟不是内部或外部命令,也不是可运行的程序或批处理文件。

然后就是光标不停闪动,等待这下一次错误的输入。

从这一章开始,将由浅入深的介绍批处理中常用的命令,很多常见DOS命令在批处理脚本中有这广泛的应用,它们是批处理脚本的BODY部分,但批处理比DOS更灵活多样,更具备自动化。

要学好批处理,DOS一定要有比较扎实的基础。

这里只讲述一些比较少用(相对来说)的DOS命令,常用命令如COPY、DIR等就不做介绍了(这些看似简单的命令实际复杂的很,我怕自己都说不清楚!)。

例五,先看一个实例。

这是一个很有意思的脚本,一个小巧实用的好东东,把批处理“自动化”的特点体现的淋漓尽致。

先介绍一下这个脚本的来历:大家都知道汇编程序(MASM)的上机过程,先要对源代码进行汇编、连接,然后再执行,而这中间有很多环节需要输入很多东西,麻烦的很(只有经历过的朋友才懂得)。

如何使这个过程变的简单呢?在我们搞汇编课程设计时,我“被逼”写了这个脚本,用起来很爽,呵呵。

看看脚本内容:@echo off::close echocls::clean screenecho This programme is to make the MASM programme automate::display infoecho Edit by CODERED::display infoecho Mailto me : qqkiller***@::display infoif "%1"=="" goto usage::if input without paramater goto usageif "%1"=="/?" goto usage::if paramater is "/?" goto usageif "%1"=="help" goto usage::if paramater is "help" goto usagepause::pause to see usagemasm %1.asm::assemble the .asm codeif errorlevel 1 pause & edit %1.asm::if error pause to see error msg and edit the codelink %1.obj & %1::else link the .obj file and execute the .exe file:usage::set usageecho Usage: This BAT file name [asm file name]echo Default BAT file name is START.BAT::display usage先不要被这一堆的东西给吓怕了,静下心来仔细的看(回想一下第一章中第一段是怎么写的!!)。

相关文档
最新文档