bat批量ping ip脚本 bat移动文件命令写错了,还能返回原来状态吗?

随时选购服务
需求发布后1小时内收到服务商响应每个需求平均有10个服务商参与95%以上的需求得到了圆满解决所有需求不向雇主收取任何佣金引爆店铺流量,提升网店销量
已收到 22 个服务商的文案稿件
有相似问题想解决?专业顾问来帮助您
01托管赏金到猪八戒网02服务商交稿03选择满意的服务商04服务商工作05验收工作,满意后付款
完成手机认证,保证能随时联系到服务商
参与需求,开始赚钱
第1步:提交您的稿件
第2步:中标后交付作品
第3步:获得赏金
该需求下的优秀交稿
TA的交稿:
要复制的文件是确定的吗?
TA的交稿:
做过类似的项目,有相关经验。已经成功完成几个项目,qq&详谈。期望与您的合作。
TA的交稿:
[url=/msgrd?v=3&uin=&site=qq&menu=yes][align=left]点击联系我QQ&[img=联系我QQ:44817...
TA的交稿:
1天内完成。qq:
TA的交稿:
请留个联系QQ,我的QQ:
还有17个服务商交稿:
或 查看更多优秀交稿bat批量移动文件到另一个文件夹(移动的文件要限制个数比如一万个每次移动一百个)_百度知道
bat批量移动文件到另一个文件夹(移动的文件要限制个数比如一万个每次移动一百个)
本a文件夹下有100000个文件为*.rar的文件 每次移动100个到 本目录下的b文件夹怎么写啊
提问者采纳
)&'do&&&&(move&&&n+=1if&nbsp:\b\&))pause一开始就是写的移动;&/f&do&setlocal&leq&100&D;in&dir/a-d/b/s&nbsp:\a\*;off&&&quot!&%%i&(set&leq&))pause或者@echo&enabledelayedexpansionfor&&nbsp:\a&enabledelayedexpansionfor&(move&;%%i&D;D;('delims=&quot.rar)&!&nbsp!n;%%i&nbsp!n;&D@echo&&n+=1if&100&setlocal&in&/a&nbsp:\b\&%%i&(*.rar&/a&nbsp,但你的思路复制后再删除所以就写了复制+删除;(set&/r&off&amp
提问者评价
来自团队:
其他类似问题
为您推荐:
bat的相关知识
其他1条回答
拿过去就好了
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁悬赏50分 求一个简单的批处理命令,实现批量创建文件夹并移动文件,具体细节内详,跪求大神帮助!_百度知道
悬赏50分 求一个简单的批处理命令,实现批量创建文件夹并移动文件,具体细节内详,跪求大神帮助!
jpg ……几十个LC001.jpg ……几十个RP001.jpg RP004.jpg RP002.jpg UA005,通过双击实现在本文件夹内自动生成以下子文件夹.jpg LC003,并移动文件——文件夹UA 里面有 UA001,全都在同一个文件夹里.jpg FG005.jpg RP003.jpg LC002.jpg LC005.jpg UA004.jpg RP003.jpg RP002.jpg FG003.jpg UA005求一个批处理命令实现批量创建文件夹并移动文件.jpg LC004.jpg ……几十个………………………… 如此以开头两个字母为文件夹名生成新文件夹.jpg UA002.jpg UA003.jpg ……几十个FG001.jpg UA004,且上万个文件各对号入座自动跑到生成的对应的文件夹里去.jpg ……几十个文件夹LC 里面有 LC001.jpg LC004.jpg FG003。我有一个文件夹 里面的文件如下UA001.jpg RP005.jpg FG004.jpg ……几十个………………………… 如此两个字母加数字的文件一共上万个.jpg LC003.jpg ……几十个文件夹FG 里面有 FG001.jpg LC002.jpg FG002.jpg UA002.jpg ……几十个文件夹RP 里面有 RP001.jpg FG004.jpg LC005.jpg RP005.jpg FG005.jpg RP004.jpg UA003.jpg FG002,具体细节如下。求一个bat批处理命令
提问者采纳
LCmove FG*,扩展TXT改为BAT 即可.jpg
FG以上内容保存到记事本md UAmd RPmd LCmd FGmove UA*.jpg
UAmove RP*.jpg
RPmove LC*
亲,你学过批处理命令吗?知道怎么回事么?这个写的不可能会自己获取文件名啊,文件一万多个,文件夹也不仅限于我随意罗列的这四个,我实例上写的省略号是什么含义你懂么?你这写的太小儿科了,还不如我自己写的批处理命令的失败之作专业呢!
提问者评价
其他类似问题
为您推荐:
批处理的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁二次元同好交流新大陆
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
人活着就要有意义,有意义就要好好活,好好活就是做有意义的事!想到和得到中间还有两个字,那就是做到!
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
&8.将 FAT 卷转换成 NTFS利用“CONVERT.exe”进行,解析如下:CONVERT volume /FS:NTFS [/V] [/CvtArea:filename] [/NoSecurity] [/X]volume 指定驱动器号(后面跟一个冒号)、装载点或卷名。/FS:NTFS 指定要被转换成 NTFS 的卷。/V 指定 Convert 应该用详述模式运行。/CvtArea:filename将根目录中的一个接续文件指定为NTFS 系统文件的占位符。/NoSecurity 指定每个人都可以访问转换的文件和目录的安全设置。/X 如果必要,先强行卸载卷。该卷的所有打开的句柄则无效。程序如下:@ ECHO OFF@ ECHO.@ ECHO. 说 明@ ECHO --------------------------------------------------------------------------@ ECHO NTFS是一种磁盘格式。该格式能存放大于4G的单个文件(如高清电影文件),并可对@ ECHO 文件夹进行加密,但有个缺点是DOS下无法访问。建议D盘及其后的盘使用NTFS格式,@ ECHO C盘如非必要可以不转换,FAT32与NTFS这两种格式的读写速度几乎是没有差别的。@ ECHO --------------------------------------------------------------------------@ ECHO.convert c: /fs:ntfs:: D盘也转成 NTFSconvert d: /fs:ntfs&9. 获取我的文档SET SF="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"FOR /F "tokens=2,*" %%I IN ('REG QUERY %SF% /v Personal 2^&NUL^|FIND /I "Personal"') DO SET "myDoc=%%~J":: 复制文件到我的文档XCOPY /D /E /R /Y /C "%cd%\test.txt" "%myDoc%\test\"10 获取当前目录路径
cd ./set CURR_PATH=%cd%
==========================================实例:3.IF-ERRORLEVEL@ECHO OFFXCOPY C:\AUTOEXEC.BAT D:IF ERRORLEVEL 1 ECHO 文件拷贝失败IF ERRORLEVEL 0 ECHO 成功拷贝文件如果文件拷贝成功,屏幕就会显示“成功拷贝文件”,否则就会显示“文件拷贝失败”。IF ERRORLEVEL 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值,而且返回值必须依照从大到小次序顺序判断。因此下面的批处理文件是错误的:@ECHO OFFXCOPY C:\AUTOEXEC.BAT D:\CHO 成功拷贝文件IF ERRORLEVEL 1 ECHO 未找到拷贝文件IF ERRORLEVEL 2 ECHO 用户通过ctrl-c中止拷贝操作IF ERRORLEVEL 3 ECHO 预置错误阻止文件拷贝操作IF ERRORLEVEL 4 ECHO 拷贝过程中写盘错误无论拷贝是否成功,后面的:未找到拷贝文件用户通过ctrl-c中止拷贝操作预置错误阻止文件拷贝操作拷贝过程中写盘错误都将显示出来。&以下就是几个常用命令的返回值及其代表的意义:backup0 备份成功1 未找到备份文件2 文件共享冲突阻止备份完成3 用户用ctrl-c中止备份4 由于致命的错误使备份操作中止diskcomp0 盘比较相同1 盘比较不同2 用户通过ctrl-c中止比较操作3 由于致命的错误使比较操作中止4 预置错误中止比较diskcopy0 盘拷贝操作成功1 非致命盘读/写错2 用户通过ctrl-c结束拷贝操作3 因致命的处理错误使盘拷贝中止4 预置错误阻止拷贝操作format0 格式化成功3 用户通过ctrl-c中止格式化处理4 因致命的处理错误使格式化中止5 在提示“proceed with format(y/n)?”下用户键入n结束xcopy0 成功拷贝文件&1 未找到拷贝文件2 用户通过ctrl-c中止拷贝操作4 预置错误阻止文件拷贝操作5 拷贝过程中写盘错误=============================================================@echo off //不显示shell的命令。Setlocal //环境改变只适用于这个文件。%OS% //为当前的操作系统。Rem //注释一行文本。Goto 标签 //改变执行顺序,去标签位置.:标签 //定义一个标签。Set 变量名=值 //定义变量Not //取反Netstat –na //显示当前被点用的端口.%0 %1 %2 //用于表示批处理文件的参数0为命令,共1-9个参数。Shift //用于向前一个参数,原1变0,原2变1.每调用一次shift向前一移动一位。Call //调用其他批处理文件或命令。Start 命令 参数 //指示出在另一个窗口中开始运行命令。=============================================================:: 这段批处理程序可以自动设置Java环境变量@echo offIF EXIST %1\bin\java.exe (rem 如输入正确的 Java2SDK 安装目录,开始设置环境变量@setx JAVA_HOME %1@setx path %path%;%JAVA_HOME%\bin@setx classpath %classpath%;.@setx classpath %classpath%;%JAVA_HOME%\lib\tools.jar@setx classpath %classpath%;%JAVA_HOME%\lib\dt.jar@setx classpath %classpath%;%JAVA_HOME%\jre\lib\rt.jar@echo on@echo Java 2 SDK 环境参数设置完毕,正常退出。) ELSE (IF "%1"=="" (rem 如没有提供安装目录,提示之后退出@echo on@echo 没有提供 Java2SDK 的安装目录,不做任何设置,现在退出环境变量设置。) ELSE (rem 如果提供非空的安装目录但没有bin\java.exe,则指定的目录为错误的目录@echo on@echo 非法的 Java2SDK 的安装目录,不做任何设置,现在退出环境变量设置。))
阅读(3535)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'批处理文件.bat-语法',
blogAbstract:'基础部分:======================================================================一、基础语法:1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令。可以使用任何文本文件编辑工具创建和修改。2.批处理是一种简单的程序,可以用 if 和 goto 来控制流程,也可以使用 for 循环。3.批处理的编程能力远不如C语言等编程语言,也十分不规范。4.每个编写好的批处理文件都相当于一个DOS的外部命令,把它所在的目录放到DOS搜索路径(path)中,即可在任意位置运行。5.C:\\AUTOEXEC.BAT 是每次系统启动时都会自动运行的,可以将每次启动时都要运行的命令放入该文件中。6.大小写不敏感(命令符忽略大小写)',
blogTag:'idealee,批处理,.bat',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:4,
permalink:'blog/static/',
commentCount:1,
mainCommentCount:1,
recommendCount:1,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'人活着就要有意义,有意义就要好好活,好好活就是做有意义的事!想到和得到中间还有两个字,那就是做到!',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}博客访问: 949514
博文数量: 498
博客积分: 2078
博客等级: 大尉
技术积分: 1640
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: WINDOWS
原文地址: 作者:
echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令
echo 表示显示此命令后的字符&
echo off 表示在此语句后所有运行的命令都不显示命令行本身&
@与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。&
call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。&
pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续&
rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。&
例1:用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语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符“%”。&
%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。&
例2:C:根目录下有一批处理文件名为f.bat,内容为:
如果执行C://>f a:
那么在执行f.bat时,%1就表示a:,这样format %1就相当于format a:,于是上面的命令运行时实际执行的是format a:
例3:C:根目录下一批处理文件名为t.bat,内容为:
那么运行C://>t a.txt b.txt&
%1 : 表示a.txt
%2 : 表示b.txt
于是上面的命令将顺序地显示a.txt和b.txt文件的内容。
if goto choice for是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。&
一、if 是条件语句,用来判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:&
1、if [not] "参数" == "字符串" 待执行的命令&
参数如果等于(not表示不等,下同)指定的字符串,则条件成立,运行命令,否则运行下一句。
例:if "%1"=="a" format a:
2、if [not] exist [路径//]文件名 待执行的命令&
如果有指定的文件,则条件成立,运行命令,否则运行下一句。
如: if exist c://config.sys type c://config.sys&
表示如果存在c://config.sys文件,则显示它的内容。
3、if errorlevel
待执行的命令&
很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态),通过if errorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺序排列)。如果返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。
如if errorlevel 2 goto x2
二、goto 批处理文件运行到这里将跳到goto所指定的标号(标号即label,标号用:后跟标准字符串来定义)处,goto语句一般与if配合使用,根据不同的条件来执行不同的命令组。&
echo this is the end&
标号用“:字符串”来定义,标号所在行不被执行。&
三、choice 使用此命令可以让用户输入一个字符(用于选择),从而根据用户的选择返回不同的errorlevel,然后于if errorlevel配合,根据用户的选择运行不同的命令。
注意:choice命令为DOS或者Windows系统提供的外部命令,不同版本的choice命令语法会稍有不同,请用choice /?查看用法。
choice的命令语法(该语法为Windows 2003中choice命令的语法,其它版本的choice的命令语法与此大同小异):
CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]
该工具允许用户从选择列表选择一个项目并返回所选项目的索引。
/C choices 指定要创建的选项列表。默认列表是 "YN"。
/N 在提示符中隐藏选项列表。提示前面的消息得到显示,
选项依旧处于启用状态。
/CS 允许选择分大小写的选项。在默认情况下,这个工具
是不分大小写的。
/T timeout 做出默认选择之前,暂停的秒数。可接受的值是从 0
到 9999。如果指定了 0,就不会有暂停,默认选项
会得到选择。
/D choice 在 nnnn 秒之后指定默认选项。字符必须在用 /C 选
项指定的一组选择中; 同时,必须用 /T 指定 nnnn。
/M text 指定提示之前要显示的消息。如果没有指定,工具只
显示提示。
/? 显示帮助消息。
ERRORLEVEL 环境变量被设置为从选择集选择的键索引。列出的第一个选
择返回 1,第二个选择返回 2,等等。如果用户按的键不是有效的选择,
该工具会发出警告响声。如果该工具检测到错误状态,它会返回 255 的
ERRORLEVEL 值。如果用户按 Ctrl+Break 或 Ctrl+C 键,该工具会返回 0
的 ERRORLEVEL 值。在一个批程序中使用 ERRORLEVEL 参数时,将参数降
CHOICE /?&
CHOICE /C YNC /M "确认请按 Y,否请按 N,或者取消请按 C。"
CHOICE /T 10 /C ync /CS /D y
CHOICE /C ab /M "选项 1 请选择 a,选项 2 请选择 b。"
CHOICE /C ab /N /M "选项 1 请选择 a,选项 2 请选择 b。"
如果我运行命令:CHOICE /C YNC /M "确认请按 Y,否请按 N,或者取消请按 C。"
屏幕上会显示:
确认请按 Y,否请按 N,或者取消请按 C。 [Y,N,C]?
例:test.bat的内容如下(注意,用if errorlevel判断返回值时,要按返回值从高到低排列):&
@echo off&
choice /C dme /M "defrag,mem,end"
if errorlevel 3 goto end
if errorlevel 2 goto mem&
if errotlevel 1 goto defrag&
c://dos//defrag&
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命令其实就是一个循环命令,如果我们想重复一个语句,就可以用for命令.通过for命令,可以控制循环的次数等.
FOR %variable IN (set) DO command [command-parameters]
&%variable& 指定一个单一字母可替换的参数。
&(set)&&&&& 指定一个或一组文件。可以使用通配符。
&command&&& 指定对每个文件执行的命令。
&command-parameters
&&&&&&&&&&& 为特定命令指定参数或命令行开关。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable
而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.
  不知道你你看懂了没有,其实还是很容易理解的,还是举个例子吧.我想用type打印所有c盘根目录下的bat文件和txt文件.dos底下命令就是 type *.bat *.txt.先将该文件保存在c盘根目录下,名称为a.bat
用for命令如下:
for %%t in (*.bat *.txt) do type %%t
%%t其实就是代表的一个参数,他的内容在in() 里面括号里的内容.也就是说这句话里的%%t就变成了*.bat *.txt了.do就是做的意思,执行type命令,而type后面是%%t,而%%t又是*.bat *.txt.所以原来这句命令的意思就变成了:
type *.bat *.txt
执行时进cmd,然后到c盘根目录下输入a.bat就可以打印出c盘根目录下所有扩展名为.bat和.txt的文件内容了.
这里要注意:in后面有个空格.
在xp底下,for命令扩展名被起用因此for的功能变得更加强大.下面讲一个真正的循环.
FOR /L %variable IN (start,step,end) DO command [command-parameters]
&& 该集表示以增量形式从开始到结束的一个数字序列。
&& 因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生
&& 序列 (5 4 3 2 1)
里面第一个1在start的位置,意思是起始位置,第2个1在step位置,英文意思是跨步,在这里面的意思是每次增量为1.后面的5在end的位置,意思是结束时的大小.
这句话的意思就是从1(start)开始增加,每次增加1(step),一直到变到5(end)为止.
这个有什么用呢?其实我感觉这个东西的用处还是很大的.举个最简单的例子,我们想重复回显"i am the best"这句话,重复显示10遍.那么for命令如下:
for /L %%e in (1,1,10) do echo "i am the best"
这时,cmd就会重复输入"i am the best"10遍.
批处理示例
1. IF-EXIST
首先用记事本在C://建立一个test1.bat批处理文件,文件内容如下:&
@echo off&
IF EXIST //AUTOEXEC.BAT TYPE //AUTOEXEC.BAT&
IF NOT EXIST //AUTOEXEC.BAT ECHO //AUTOEXEC.BAT does not exist&
然后运行它:
C://>TEST1.BAT&
如果C://存在AUTOEXEC.BAT文件,那么它的内容就会被显示出来,如果不存在,批处理就会提示你该文件不存在。
接着再建立一个test2.bat文件,内容如下:&
@ECHO OFF&
IF EXIST //%1 TYPE //%1&
IF NOT EXIST //%1 ECHO //%1 does not exist&
C://>TEST2 AUTOEXEC.BAT&
该命令运行结果同上。
(1) IF EXIST 是用来测试文件是否存在的,格式为&
IF EXIST [路径+文件名] 命令&
(2) test2.bat文件中的%1是参数,DOS允许传递9个批参数信息给批处理文件,分别为%1~%9(%0表示test2命令本身) ,这有点象编程中的实参和形参的关系,%1是形参,AUTOEXEC.BAT是实参。&
3) 更进一步的,建立一个名为TEST3.BAT的文件,内容如下:&
IF "%1" == "A" ECHO XIAO&
IF "%2" == "B" ECHO TIAN&
IF "%3" == "C" ECHO XIN&
如果运行:
C://>TEST3 A B C&
屏幕上会显示:
如果运行:
C://>TEST3 A B&
屏幕上会显示
在这个命令执行过程中,DOS会将一个空字符串指定给参数%3。&
2、IF-ERRORLEVEL
建立TEST4.BAT,内容如下:
@ECHO OFF&
XCOPY C://AUTOEXEC.BAT D:IF ERRORLEVEL 1 ECHO 文件拷贝失败&
IF ERRORLEVEL 0 ECHO 成功拷贝文件&
然后执行文件:
C://>TEST4
如果文件拷贝成功,屏幕就会显示“成功拷贝文件”,否则就会显示“文件拷贝失败”。&
IF ERRORLEVEL 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值,而且返回值必须依照从大到小次序顺序判断。
因此下面的批处理文件是错误的:
@ECHO OFF&
XCOPY C://AUTOEXEC.BAT D://&
IF ERRORLEVEL 0 ECHO 成功拷贝文件&
IF ERRORLEVEL 1 ECHO 未找到拷贝文件&
IF ERRORLEVEL 2 ECHO 用户通过ctrl-c中止拷贝操作&
IF ERRORLEVEL 3 ECHO 预置错误阻止文件拷贝操作&
IF ERRORLEVEL 4 ECHO 拷贝过程中写盘错误&
无论拷贝是否成功,后面的:&
未找到拷贝文件&
用户通过ctrl-c中止拷贝操作&
预置错误阻止文件拷贝操作&
拷贝过程中写盘错误
都将显示出来。&
以下就是几个常用命令的返回值及其代表的意义:&
0 备份成功&
1 未找到备份文件&
2 文件共享冲突阻止备份完成&
3 用户用ctrl-c中止备份&
4 由于致命的错误使备份操作中止&
0 盘比较相同&
1 盘比较不同&
2 用户通过ctrl-c中止比较操作&
3 由于致命的错误使比较操作中止&
4 预置错误中止比较&
0 盘拷贝操作成功&
1 非致命盘读/写错&
2 用户通过ctrl-c结束拷贝操作&
3 因致命的处理错误使盘拷贝中止&
4 预置错误阻止拷贝操作&
0 格式化成功&
3 用户通过ctrl-c中止格式化处理&
4 因致命的处理错误使格式化中止&
5 在提示“proceed with format(y/n)?”下用户键入n结束&
0 成功拷贝文件&
1 未找到拷贝文件&
2 用户通过ctrl-c中止拷贝操作&
4 预置错误阻止文件拷贝操作&
5 拷贝过程中写盘错误&
3、IF STRING1 == STRING2
建立TEST5.BAT,文件内容如下:&
@echo off&
IF "%1" == "A" formAT A:&
C://>TEST5 A&
屏幕上就出现是否将A:盘格式化的内容。&
注意:为了防止参数为空的情况,一般会将字符串用双引号(或者其它符号,注意不能使用保留符号)括起来。
如:if [%1]==[A] 或者 if %1*==A*
建立TEST6.BAT,文件内容如下:&
@ECHO OFF&
IF EXIST C://AUTOEXEC.BAT GOTO _COPY&
GOTO _DONE
COPY C://AUTOEXEC.BAT D://&
(1) 标号前是ASCII字符的冒号":",冒号与标号之间不能有空格。&
(2) 标号的命名规则与文件名的命名规则相同。
(3) DOS支持最长八位字符的标号,当无法区别两个标号时,将跳转至最近的一个标号。
建立C://TEST7.BAT,文件内容如下:&
@ECHO OFF&
FOR %C IN (*.BAT *.TXT *.SYS) DO TYPE %C&
执行以后,屏幕上会将C:盘根目录下所有以BAT、TXT、SYS为扩展名的文件内容显示出来(不包括隐藏文件)。
bat命令的使用
  一. 简单批处理内部命令简介&
  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
阅读(6223) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。

我要回帖

更多关于 批量重命名 bat 的文章

 

随机推荐