批量处理替换文件夹名中指定字符串,批处理文
分类:澳门新萄京

@echo off&color 3a&set c=0123456789abcdefghijklmnopqrstuvwxyz

批管理文件(batch file卡塔尔(英语:State of Qatar)富含豆蔻年华多元 DOS命令,平日用于机动实践重复性职务。客商只需双击批管理公事便可实行职责,而没有必要重新输入相通指令。编写批处理文件相当的轻便,但难题在于确认保障全体按梯次实践。编写严厉的批管理文件可以大幅程度地节省时间,在应对重复性职业时更是有效。

1 echo 和 @
**
回显命令
**@                        #闭馆单行回显
echo off                 #从下风度翩翩行发轫关闭回显
@echo off                #从行当开首关闭回显。日常批处理第少年老成行都是其生龙活虎
echo on                  #从下生机勃勃行开头展开回显
echo                     #来妥当前是 echo off 状态照旧 echo on 状态
echo.                    #出口一个"回车换行",空白行
                            #(同echo, echo; echo echo[ echo] echo/ echo)

title 批量替换文件(文件夹卡塔尔国名

怎样是批管理

2 errorlevel
echo %errorlevel%
各样命令运维停止,能够用那些命令行格式查看再次来到码
私下认可值为0,常常命令实践出错会设 errorlevel 为1

echo.

批处理(Batch卡塔尔,也堪称批管理脚本。一孔之见,批管理便是对某目的开展批量的管理。批管理文件的强盛名称叫bat。

3 dir
突显文件夹内容 dir                     #来安妥前目录中的文件和子目录
dir /a                  #呈现当前目录中的文件和子目录,饱含隐形文件和系统文件
dir c: /a:d             #展现 C 盘当前目录中的目录
dir c: /a:-d            #呈现 C 盘根目录中的文件
dir c: /b/p            #/b只呈现文件名,/p分页呈现
dir *.exe /s            #展现当前目录和子目录里富有的.exe文件

echo 此批处理可批量替换本文件所在文件夹下全数文件的公文名。

现阶段相比较经常见到的批管理包含两类:DOS批管理和PS批管理。PS批管理是依据强盛的图形编辑软件Photoshop的,用来批量管理图片的脚本;而DOS批管理则是依赖DOS命令的,用来机关地批量地实施DOS命令以贯彻特定操作的本子。这里要讲的就是DOS批管理。

4 cd
切换目录
cd                     #步向根目录
cd                      #来稳当前目录
cd /d d:sdk            #能够并且改过盘符和目录

echo.
echo.&set /p strtemp1= 请输入要替换的公文(文件夹卡塔尔(قطر‎名字符串(可替换空格):

批管理是少年老成种简化的脚本语言,它利用于DOS和Windows系统中,它是由DOS恐怕Windows系统内嵌的下令解释器(通常是COMMAND.COM也许CMD.EXE卡塔尔(قطر‎解释运作。雷同于Unix中的Shell脚本。批管理公事具有.bat可能.cmd的恢弘名,其最简易的例子,是逐钟鼓文写在命令行中会用到的种种吩咐。更复杂的意况,供给接纳if,for,goto等一声令下调整造进程序的周转进度,就如C,Basic等中高档语言一样。借使供给实现更眼花缭乱的选拔,利用表面程序是要求的,那包含系统本身提供的外界命令和第三方提供的工具恐怕软件。

5 md
创造目录
md d:abc             #若果 d:a 空头支票,将会自行成立中级目录
#假若命令扩张名被停用,则要求键入 mkdir abc。

echo.&set /p strtemp2= 请输入替换后的文本(文件夹卡塔尔国名字符串(删除则平昔回车):

批管理公事,或称为批管理程序,是由一条条的DOS命令组成的数见不鲜文书文件,能够用记事本直接编辑或用DOS命令创设,也足以用DOS下的文本编辑器Edit.exe来编排。在“命令提醒”下键入批管理公事的称谓,或然双击该批管理公事,系统就能够调用Cmd.exe运维该批处理程序。平常情形下,每条命令占有大器晚成行;当然也足以将多条命令用特定符号(如:&、&&、|、||等卡塔尔国分隔后写入同大器晚成行中;还会有的情事正是像if、for等较高档的授命则要占用几行以致几十几百行的长空。

6 rd
剔除目录
rd abc                  #删除当前目录里的 abc 子目录,供给为空目录
rd /s/q d:temp         #删除 d:temp 文件夹及其子文件夹和文书,/q安静形式

for /f "delims=" %%i in ('dir /s /b') do (
setlocal enabledelayedexpansion
set "f=%%~nxi"
set "f1=!f:%strtemp1%=%strtemp2%!"
if not "%%i"==%0 (
if not "!f!"=="!f1!" (
if exist "!f1!" (
echo 由于!f1!存在同名,!f! 文件名未改 卡塔尔(قطر‎ else ren "!f!" "!f1!"
)
endlocal
)
)

系统在降解运作批管理程序时,首先扫描整个批管理程序,然后从第生龙活虎行代码开头向下逐句推行全数的通令,直至程序结尾或遇见exit命令或出错意外退出。

7 del
除去文件 del d:test.txt         #去除钦命文件,不能够是规避、系统、只读文件
del /q/a/f d:temp*.*
删去 d:temp 文件夹里面包车型客车具有文件,饱含隐蔽、只读、系统文件,不包含子目录
del /q/a/f/s d:temp*.*
除去 d:temp 及子文件夹里面的具备文件,富含隐形、只读、系统文件,不包蕴子目录

批处理命令简要介绍

8 ren
重命名命令
ren d:temp tmp         #支撑对文本夹的重命名

echorempausecallstartgotoset

9 cls
**
清屏
10 type
**展现文件内容 type c:boot.ini        #展现钦点文件的剧情,程序文件平常会突显乱码
type *.txt              #来安妥前目录里全数.txt文件的原委

/os/201606/514325.html

11 copy
**
拷贝文件
**copy c:test.txt d:test.bak
复制 c:test.txt 文件到 d: ,同仁一视命名叫 test.bak
copy con test.txt
从显示器上伺机输入,按 Ctrl Z 截至输入,输入内容存为test.txt文件
con代表显示屏,prn代表打印机,nul代表空设备
copy 1.txt 2.txt 3.txt
合并 1.txt 和 2.txt 的内容,保存为 3.txt 文件
若果不点名 3.txt ,则保留到 1.txt
copy test.txt
复制文件到协调,实际上是改革了文本日期

批管理符号简单介绍

12 title
**
安装cmd窗口的标题**
title 新标题            #能够看看cmd窗口的标题栏变了

回显屏蔽 @重定向1 >与>>重定向2 <管道符号 |转义符 ^逻辑命令符满含:&、&&、||

13** ver 显示系统版本
14 label 和 vol
**设置卷标 vol                     #突显卷标
label                   #来得卷标,同有的时候间提示输入新卷标
label c:system          #安装C盘的卷标为 system

/os/201606/514325.html

15 pause**
暂停命令
16 rem 和 ::**
表明命令

批注行不进行操作

常用DOS命令

17 date 和 time
日期和时间
date              #突显当前几日子,并提示输入新日期,按"回车"略过输入
date/t            #只呈现当今天子,不提示输入新日期
time              #呈现当前光阴,并提醒输入新时间,按"回车"略过输入
time/t            #只展现当前时光,不升迁输入新时间

文本夹管理

18 goto 和 :
**
跳转命令
**:label            #行首为:表示该行是标签行,标签行不实施操作
goto label        #跳转到钦命的价签那风流倜傥行

cd 呈现当前目录名或更换当前目录。md 成立目录。rd 删除三个目录。dir 显示目录中的文件和子目录列表。tree 以图纸彰显驱动器或路线的文书夹布局。path 为可施行文件展现或设置叁个招来路径。xcopy 复制文件和目录树。

19 find (外界命令卡塔尔(英语:State of Qatar)
查找命令 find "abc" c:test.txt
在 c:test.txt 文件里找寻含 abc 字符串的行
纵然找不到,将设 errorlevel 再次来到码为1
find /i "abc" c:test.txt
检索含 abc 的行,忽视大小写
find /c "abc" c:test.txt
来得含 abc 的行的行数

文件管理

20 more (外界命令卡塔尔国**
逐屏展现
**more c:test.txt        #逐屏显示 c:test.txt 的文本内容

type 显示文本文件的剧情。copy 将大器晚成份或多份文件复制到另多个地点。del 删除叁个或数个文本。move 移动文件天公地道命名文件和目录。(Windows XP Home Edition中平素不卡塔尔ren 重命名文件。replace 替换文件。attrib 呈现或转移文件属性。find 寻觅字符串。fc 相比较三个公文或五个公文集并彰显它们中间的差异

21 tree
突显目录构造 tree d:                #来得D盘的文件目录布局

互联网命令

22 &
依次奉行多条命令,而不管命令是还是不是实行成功
23 && 和 ||
**
&&顺序执行多条命令,当境遇实施出错的指令后将不试行后边的授命
| | 顺序实行多条命令,当遭遇推行科学的授命后将不试行后边的一声令下**
find "ok" c:test.txt && echo 成功
风流洒脱旦找到了"ok"字样,就体现"成功",找不到就不显得
find "ok" c:test.txt || echo 不成功
如果找不到"ok"字样,就显得"不成事",找到了就不显示

ping 进行网络连接测验、名称解析ftp 文件传输net 互联网命令集及客商管理telnet 远程登录ipconfig展现、纠正TCP/IP设置msg 给客商发送音讯arp 展现、改革局域网的IP地址-物理地址映射列表

24** | 管道命令*
dir
.* /s/a | find /c ".exe"
管道命令表示先进行 dir 命令,对其出口的结果进行前面包车型客车 find 命令
该命令行结果:输出当前文件夹及全数子文件夹里的.exe文件的个数
type c:test.txt|more
这么些和 more c:test.txt 的效果是同样的

系统处理

25 > 和 >> 和 ^**
出口重定向命令
**> 死灭文件中原本的剧情后再写入
>> 追加内容到文件末尾,而不会免去原有的内容
十分重要将自然展现在显示器上的内容输出到钦定文件中
点名文件借使不设有,则自动生成该文件
type c:test.txt >prn
显示器上不突显文件内容,转向输出到打字与印刷机
echo hello world>con
在显示器上显得hello world,实际上全体出口都以暗许 >con 的
copy c:test.txt f: >nul
拷贝文件,並且不出示"文件复制作而成功"的提示消息,但假若f盘不设有,依旧会呈现出错音信
copy c:test.txt f: >nul 2>nul
不出示"文件复制作而成功"的提示音信,何况f盘一纸空文的话,也不出示错误提醒信息
^的魔法是把命令符号转意成文本符号,它也得以转意自个儿,如:
echo ^^W ^> ^W>c:test.txt
变迁的文本内容为 ^W > W
^ 和 > 是决定命令,要把它们输出到文件,必需在头里加个 ^ 符号
set /p=^|
|是管道命令,要显得|,将在加^

at 安插在特定日期和岁月运作命令和顺序shutdown立即或依期关机或重启tskill 甘休进度taskkill截至进度(比tskill高等,但WinXPHome版中无该命令卡塔尔(قطر‎tasklist突显进度列表(Windows XP Home Edition中尚无卡塔尔(قطر‎sc 系统服务设置与调控reg 注册表调控台工具powercfg调节体系上的电源设置

26 '' 和 ""
**
单引号的机能是,将四个指令组成的复合语句就是一条语句
双引号的代表其里面内容为文本符号,它也足以连接三个或多少个以空格间距的文本符号
**for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i
ipconfig为语句意气风发,find /i "ip address"为语句二,用单引号合为一条语句
IF /I "%c%"=="1" ECHO %c%
set p="I Love You!!"
find if set

对此上述列出的具备命令,在cmd中输入命令 /?就能够查看该命令的增加接济消息。如find /?

27 <
**
从文件中得到输入音信,并非从显示屏上**
平常用于 date time label 等急需等待输入的命令
@echo off
echo 2005-05-01>temp.txt
date <temp.txt
del temp.txt
如此即可不等待输入直接校订当明日期

Windows Batch 常用命令

28 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*
命令行传递给批管理的参数
%0 批管理公事本身
%1 第多个参数
%9 第多少个参数
%* 从第多个参数带头的兼具参数

1 echo 和 @

批参数(%n卡塔尔(英语:State of Qatar)的代替已被增加。您可以动用以下语法:

回显命令

        %~1             - 删除引号("卡塔尔国,扩大 %1
        %~f1            - 将 %1 扩充到一个全然合格的路径名
        %~d1            - 仅将 %1 扩大到三个驱动器号
        %~p1            - 仅将 %1 扩大到贰个路线
        %~n1            - 仅将 %1 扩展到二个文书名
        %~x1            - 仅将 %1 扩展到一个文本扩张名
        %~s1            - 扩张的渠道指包含短名
        %~a1            - 将 %1 扩张到文件属性
        %~t1            - 将 %1 扩张到文件的日子/时间
        %~z1            - 将 %1 扩充到文件的轻重
        %~$PATH : 1 - 查找列在 PATH 遭遇变量的目录,并将 %1
                      增到找到的首先个完全合格的称谓。借使条件
                      变量名未被定义,或许没有找到文件,此构成键会
                      扩展到空字符串

@ #闭馆单行回显

能够组成修改装订符来拿到多种结果:

echo off #从下后生可畏行开始关闭回显

       %~dp1           - 只将 %1 扩张到驱动器号和门路
       %~nx1           - 只将 %1 扩充到文件名和强盛名
       %~dp$PATH:1 - 在列在 PATH 处境变量中的目录里找寻 %1,
                      并增加到找到的第叁个文件的驱动器号和路线。
       %~ftza1         - 将 %1 扩大到贴近 DI库罗德 的输骑行。
能够参见 call/? 或 for/? 看出各样参数的意味
echo load "%%1" "%%2">c:test.txt
改造的文件内容为 load "%1" "%2"
批管理文件里,用这些格式把命令行参数输出到文件

@echo off #从行当初叶关闭回显。常常批管理第意气风发行都以其生龙活虎

29 if
认清命令 if "%1"=="/a" echo 第一个参数是/a
if /i "%1" equ "/a" echo 第四个参数是/a
/i 代表不区分轻重缓急写,equ 和 == 是平等的,其余运算符参见:
    EQU - 等于
    NEQ - 不等于
    LSS - 小于
    LEQ - 小于或等于
    GTR - 大于
    GEQ - 大于或等于
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
        )

echo on #从下风度翩翩行最早张开回显

30 setlocal 和 endlocal
安装"命令扩展名"和"延缓意况变量扩大"
SETLOCAL ENABLEEXTENSIONS                #启用"命令扩大名"
SETLOCAL DISABLEEXTENSIONS               #停用"命令扩张名"
SETLOCAL ENABLEDELAYEDEXPANSION          #启用"延缓景况变量扩张"
SETLOCAL DISABLEDELAYEDEXPANSION         #停用"延缓情形变量扩大"
ENDLOCAL                                 #回复到利用SETLOCAL语句从前的景观
"命令扩张名"默以为启用
"延缓意况变量扩张"默感觉停用
批管理终结系统会自行回复暗许值
能够更正注册表以禁止使用"命令增添名",详见 cmd /? 。所以用到"命令扩张名"的程
序,提出在起始和终极加上 SETLOCAL ENABLEEXTENSIONS 和 ENDLOCAL 语句,以确
保程序能在别的系统上精确运转
"延缓情状变量扩张"主要用以 if 和 for 的相符语句,在 set 的求证里有其实用例程

echo #显示当前是 echo off 状态还是 echo on 状态

31 set
安装变量 引用变量可在变量名前后加 % ,即 %变量名%
set                        #来得近期具备可用的变量,包涵系统变量和自定义的变量
echo %SystemDrive%         #展现系统盘盘符。系统变量能够直接援用
set p                      #显示全数以p最早的变量,要是三个也从未就设errorlevel=1
set p=aa1bb1aa2bb2         #设置变量p,并赋值为 = 前面的字符串,即aa1bb1aa2bb2
echo %p%                   #展示变量p代表的字符串,即aa1bb1aa2bb2
echo %p:~6%                #展现变量p中第6个字符以往的具有字符,即aa2bb2
echo %p:~6,3%              #显示第6个字符未来的3个字符,即aa2
echo %p:~0,3%              #显示前3个字符,即aa1
echo %p:~-2%               #来得最前边的2个字符,即b2
echo %p:~0,-2%             #来得除了最终2个字符以外的任何字符,即aa1bb1aa2b
echo %p:aa=c%              #用c替换变量p中全数的aa,即显示c1bb1c2bb2
echo %p:aa=%               #将变量p中的全数aa字符串置换为空,即展现1bb12bb2
echo %p:*bb=c%             #第三个bb及其此前的具备字符被轮番为c,即展现c1aa2bb2
set p=%p:*bb=c%            #设置变量p,赋值为 %p:*bb=c% ,即c1aa2bb2
set /a p=39                #设置p为数值型变量,值为39
set /a p=39/10             #补助运算符,有小数时用去尾法,39/10=3.9,去尾得3,p=3
set /a p=p/10              #用 /a 参数时,在 = 前边的变量能够不加%直接援引
set /a p="1&0″             #"与"运算,要加引号。此外协助的运算符参见set/?
set p=                     #取消p变量
set /p p=请输入
显示屏上海展览中心示"请输入",并会将输入的字符串赋值给变量p
留心那条能够用来代表 choice 命令
在乎变量在 if 和 for 的复合语句里是叁遍性全部沟通的,如
@echo off
set p=aaa
if %p%==aaa (
        echo %p%
        set p=bbb
        echo %p%
        )
结果将体现
aaa
aaa
因为在读取 if 语句时已经将全体 %p% 替换为aaa
此地的"替换",在 /? 补助里正是指"扩大"、"境遇变量扩展"
能够启用"延缓景况变量扩展",用 ! 来引用变量,即 !变量名!
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set p=aaa
if %p%==aaa (
        echo %p%
        set p=bbb
        echo !p!
        )
ENDLOCAL
结果将显得
aaa
bbb
再有多少个动态变量,运维 set 看不到

本文由澳门新萄京发布于澳门新萄京,转载请注明出处:批量处理替换文件夹名中指定字符串,批处理文

上一篇:计算机应用基础教程作业 下一篇:没有了
猜你喜欢
热门排行
精彩图文