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

批量拍卖替换文件夹名中指定字符串,替换字符串

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

title 批量替换文件(文件夹)名

echo.

echo 此批处理可批量替换本文件所在文件夹下所有文件的文书名。

echo.
echo.&set /p strtemp1=
请输入要替换的文件(文件夹)名字符串(可替换空格):

echo.&set /p strtemp2=
请输入替换后的文书(文件夹)名字符串(删除则直接回车):

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

@echo offcolor 3aset c=0123456789abcdefghijklmnopqrstuvwxyz title
批量替换文件(文件夹)名 echo. echo 此批…

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

批处理文件(batch file)包涵一多元
DOS命令,日常用于机动执行重复性职务。用户只需双击批处理公事便可实施任务,而无需另行输入相同指令。编写批处理文件万分不难,但难题在于确保整个按顺序执行。编写严格的批处理公事可以大幅度程度地节省时间,在应对重复性工作时尤其有效。

title 批量替换文件(文件夹)名

title 批量替换文件(文件夹)名

什么样是批处理

echo.

echo.

批处理(Batch),也称之为批处理脚本。顾名思义,批处理就是对某目的举办批量的拍卖。批处理公事的扩展名为bat。

echo 此批处理可批量替换本文件所在文件夹下所有文件的文书名。

echo 此批处理可批量替换本文件所在文件夹下所有文件的文书名。

眼前相比较常见
的批处理包括两类:DOS批处理和PS批处理。PS批处理是依照强大的图形编辑软件Photoshop的,用来批量甩卖图片的台本;而DOS批处理则是基于DOS命令的,用来机关地批量地执行DOS命令以完成特定操作的剧本。那里要讲的就是DOS批处理。

echo.
echo.&set /p strtemp1=
请输入要替换的文书(文件夹)名字符串(可替换空格):

echo.
echo.&set /p strtemp1=
请输入要替换的文书(文件夹)名字符串(可替换空格):

批处理是一种简化的脚本语言,它利用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的一声令下解释器(经常是COMMAND.COM或者CMD.EXE)解释运作。类似于Unix中的Shell脚本。批处理公事具有.bat或者.cmd的壮大名,其最简便易行的例证,是逐石籀文写在指令行中会用到的各类吩咐。更复杂的动静,须求动用if,for,goto等一声令下控制程序的运行进度,就像是C,Basic等中高等语言同样。假诺急需贯彻更扑朔迷离的选择,利用表面程序是少不了的,那包涵系统本身提供的外部命令和第三方提供的工具或者软件。

echo.&set /p strtemp2=
请输入替换后的文本(文件夹)名字符串(删除则一贯回车):

echo.&set /p strtemp2=
请输入替换后的公文(文件夹)名字符串(删除则直接回车):

批处理公事,或称为批处理程序,是由一条条的DOS命令组成的常备文书文件,可以用记事本间接编辑或用DOS命令创立,也足以用DOS下的文本编辑器Edit.exe来编排。在“命令提醒”下键入批处理文件的称呼,或者双击该批处理公事,系统就会调用Cmd.exe运行该批处理程序。一般情况下,每条命令占据一行;当然也得以将多条命令用特定符号(如:&、&&、|、||等)分隔后写入同一行中;还有的情事就是像if、for等较高级的授命则要霸占几行甚至几十几百行的空间。

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

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命令或出错意外退出。

批处理命令简介

echorempausecallstartgotoset

/os/201606/514325.html

批处理符号简介

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

/os/201606/514325.html

常用DOS命令

文件夹管理

cd 显示当前目录名或改变当前目录。md 创立目录。rd 删除一个索引。dir
突显目录中的文件和子目录列表。tree
以图片突显驱动器或路径的文本夹结构。path
为可执行文件显示或设置一个找寻路径。xcopy 复制文件和目录树。

文件管理

type 突显文本文件的始末。copy 将一份或多份文件复制到另一个职位。del
删除一个或数个文件。move 移动文件天公地道命名文件和目录。(Windows XP Home
Edition中尚无)ren 重命名文件。replace 替换文件。attrib
突显或转移文件属性。find 搜索字符串。fc
相比较五个文本或八个公文集并突显它们之间的不一致

互连网命令

ping 举办网络连接测试、名称解析ftp 文件传输net
网络命令集及用户管理telnet 远程登陆ipconfig突显、修改TCP/IP设置msg
给用户发送音讯arp 显示、修改局域网的IP地址-物理地址映射列表

系统管理

at 布置在一定日期和岁月运作命令和程序shutdown立时或定时关机或重启tskill
为止进度taskkill截至进度(比tskill高级,但WinXPHome版中无该命令)tasklist突显进程列表(Windows
XP Home Edition中绝非)sc 系统服务设置与操纵reg
注册表控制台工具powercfg控制连串上的电源设置

对于以上列出的有所命令,在cmd中输入命令+/?即可查看该命令的辅助新闻。如find
/?

Windows Batch 常用命令

1 echo 和 @

回显命令

@ #闭馆单行回显

echo off #从下一行先导关闭回显

@echo off #从行业开端关闭回显。一般批处理第一行都是这些

echo on #从下一行发轫打开回显

echo #来得当前是 echo off 状态仍然 echo on 状态

echo. #输出一个”回车换行”,空白行

#(同echo, echo; echo+ echo[批量拍卖替换文件夹名中指定字符串,批处理文件。 echo] echo/ echo)

2 errorlevel

echo %errorlevel%

每个命令运行停止,能够用这些命令行格式查看重返码

默许值为0,一般命令执行出错会设 errorlevel 为1

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文件

4 cd

切换目录

cd #进去根目录

cd #浮现当前目录

cd /d d:sdk #可以同时更改盘符和目录

5 md

创建目录

md d:abc #一经 d:a 不设有,将会自行创制中级目录

#如若命令伸张名被停用,则必要键入 mkdir abc。

6 rd

去除目录

rd abc #删去当前目录里的 abc 子目录,须求为空目录

rd /s/q d:temp #剔除 d:temp 文件夹及其子文件夹和文件,/q安静情势

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 #协助对文件夹的重命名

9 cls

清屏

10 type

突显文件内容

type c:boot.ini #展现指定文件的情节,程序文件一般会显得乱码

type *.txt #突显当前目录里所有.txt文件的情节

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窗口的标题栏变了

13 ver

来得系统版本

14 label 和 vol

设置卷标

vol #来得卷标

label #体现卷标,同时提醒输入新卷标

label c:system #安装C盘的卷标为 system

15 pause

停顿命令

16 rem 和 ::

声明命令

表明行不实施操作

17 date 和 time

日期和岁月

date #显示当前几日子,并提醒输入新日期,按”回车”略过输入

date/t #只呈现当前些天期,不提示输入新日期

time #彰显当前时刻,并提醒输入新时间,按”回车”略过输入

time/t #澳门金沙国际 ,只突显当前时光,不提示输入新时间

18 goto 和 :

跳转命令

:label #行首为:表示该行是标签行,标签行不履行操作

goto label #跳转到指定的标签那一行

19 find (外部命令)

搜寻命令

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 的文书内容

21 tree

突显目录结构

tree d: #来得D盘的文件目录结构

22 &

次第执行多条命令,而不管命令是不是推行成功

23 &&

次第执行多条命令,当境遇执行出错的吩咐后将不执行前边的一声令下

find “ok” c:test.txt && echo 成功

如果找到了”ok”字样,就显示”成功”,找不到就不显得

24 ||

各类执行多条命令,当碰到执行科学的一声令下后将不实施后边的下令

find “ok” c:test.txt || echo 不成功

一经找不到”ok”字样,就突显”不成事”,找到了就不显得

25 |

管道命令

dir *.* /s/a | find /c “.exe”

管道命令表示先举行 dir 命令,对其出口的结果进行前面的 find 命令

该命令行结果:输出当前文件夹及所有子文件夹里的.exe文件的个数

type c:test.txt|more

以此和 more c:test.txt 的效应是平等的

26 > 和 >>

输出重定向命令

> 清除文件中本来的内容后再写入

>> 追加内容到文件末尾,而不会免去原有的始末

最主要将自然突显在显示器上的内容输出到指定文件中

点名文件若是不设有,则自动生成该公文

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

^ 和 > 是控制命令,要把它们输出到文件,必须在面前加个 ^ 符号

27 <

从文件中得到输入音讯,而不是从屏幕上

貌似用于 date time label 等须要拭目以待输入的吩咐

@echo off

echo 2005-05-01>temp.txt

date c:test.txt

变更的文书内容为 load “%1” “%2”

批处理公事里,用那个格式把命令行参数输出到文件

29 if

认清命令

if “%1″==”/a” echo 第一个参数是/a

if /i “%1” equ “/a” echo 首个参数是/a

/i 表示不区分轻重缓急写,equ 和 == 是均等的,其余运算符参见 if/?

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

)

30 setlocal 和 endlocal

设置”命令扩张名”和”延缓环境变量扩张”

SETLOCAL ENABLEEXTENSIONS #启用”命令扩充名”

SETLOCAL DISABLEEXTENSIONS #停用”命令扩充名”

SETLOCAL ENABLEDELAYEDEXPANSION #启用”延缓环境变量扩大”

SETLOCAL DISABLEDELAYEDEXPANSION #停用”延缓环境变量扩张”

ENDLOCAL #过来到应用SETLOCAL语句在此之前的意况

“命令扩充名”默许为启用

“延缓环境变量扩张”默许为停用

批处理已毕系统会自行回复默许值

可以修改注册表以禁用”命令扩大名”,详见 cmd /? 。所以用到”命令扩张名”的程

序,提出在开首和结尾加上 SETLOCAL ENABLEEXTENSIONS 和 ENDLOCAL
语句,以确

保程序能在其它系统上正确运行

“延缓环境变量扩张”首要用以 if 和 for 的适合语句,在 set
的验证里有其实用例程

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 看不到

%CD% #代表当前目录的字符串

%DATE% #脚下日期

%TIME% #此时此刻时刻

%RANDOM% #随机整数,介于0~32767

%ERRORLEVEL% #当前 ERRORLEVEL 值

%CMDEXTVERSION% #近来下令处理器扩大名版本号

%CMDCMDLINE% #调用命令处理器的原始命令行

可以用echo命令查看各类变量值,如 echo %time%

在意 %time% 精确到飞秒,在批处理须求延时处理时方可用到

32 start

批处理中调用外部程序的一声令下,否则等外部程序达成后才继续执行剩下的下令

33 call

批处理中调用此外一个批处理的通令,否则剩下的批处理指令将不会被执行

突发性有的应用程序用start调用出错的,也可以call调用

34 choice (外部命令)

分选命令

让用户输入一个字符,从而选择运行分化的吩咐,重临码errorlevel为1234……

win98里是choice.com

win2000pro里没有,可以从win98里拷过来

win2003里是choice.exe

choice /N /C y /T 5 /D y>nul

延时5秒

35 assoc 和 ftype

文件涉及

assoc 设置’文件增加名’关联,关联到’文件类型’

ftype 设置’文件类型’关联,关联到’执行顺序和参数’

当您双击一个.txt文件时,windows并不是按照.txt直接判断用 notepad.exe 打开

而是先判断.txt属于 txtfile ‘文件类型’

再调用 txtfile 关联的命令行 txtfile=%SystemRoot%system32NOTEPAD.EXE %1

可以在”文件夹选项”→”文件类型”里修改那2种关系

assoc #呈现所有’文件增加名’关联

assoc .txt #显示.txt代表的’文件类型’,结果突显 .txt=txtfile

assoc .doc #突显.doc代表的’文件类型’,结果突显 .doc=Word.Document.8

assoc .exe #显示.exe代表的’文件类型’,结果突显 .exe=exefile

ftype #体现所有’文件类型’关联

ftype exefile #突显exefile类型关联的命令行,结果突显 exefile=”%1″ %*

assoc .txt=Word.Document.8

设置.txt为word类型的文档,可以看看.txt文件的图标都变了

assoc .txt=txtfile

復苏.txt的正确关联

ftype exefile=”%1″ %*

平复 exefile 的科学关联

比方该关联已经被毁损,可以运作 command.com ,再输入那条命令

36 pushd 和 popd

切换当前目录

@echo off

c: & cd & md mp3 #在 C: 建立 mp3 文件夹

md d:mp4 #在 D: 建立 mp4 文件夹

cd /d d:mp4 #更改当前目录为 d:mp3

pushd c:mp3 #封存当前目录,并切换当前目录为 c:mp4

popd #过来当前目录为刚刚保存的 d:mp3

37 for

循环命令

以此相比复杂,请对照 for/? 来看

for %%i in (c: d: e: f:) do echo %%i

依次调用小括号里的每个字符串,执行 do 前边的吩咐

注意%%i,在批处理中 for 语句调用参数用2个%

默许的字符串分隔符是”空格键”,”Tab键”,”回车键”

for %%i in (*.txt) do find “abc” %%i

对当前目录里有着的txt文件举办 find 命令

for /r . %%i in (*.txt) do find “abc” %%i

在当前目录和子目录里拥有的.txt文件中追寻包涵 abc 字符串的行

for /r . %%i in (.) do echo %%~pni

浮现当前目录名和所有子目录名,包罗路径,不包罗盘符

for /r d:mp3 %%i in (*.mp3) do echo %%i>>d:mp3.txt

把 d:mp4 及其子目录里的mp5文件的文本名都存到 d:mp4.txt 里去

for /l %%i in (2,1,8) do echo %%i

转变2345678的一串数字,2是数字种类的上马,8是最终,1象征每趟加1

for /f %%i in (‘set’) do echo %%i

对 set 命令的出口结果循环调用,每行一个

for /f “eol=P” %%i in (‘set’) do echo %%i

取 set 命令的输出结果,忽略以 P 开端的那几行

for /f %%i in (d:mp3.txt) do echo %%i

突显 d:mp5.txt 里的每个文件名,每行一个,不辅助带空格的名号

for /f “delims=” %%i in (d:mp3.txt) do echo %%i

来得 d:mp4.txt 里的每个文件名,每行一个,帮助带空格的名称

for /f “skip=5 tokens=4” %%a in (‘dir’) do echo %%a

对 dir 命令的结果,跳过前边5行,余下的每行取第4列

每列之间的相间符为默许的”空格”

可以小心到 dir 命令输出的前5行是没有公文名的

for /f “tokens=1,2,3 delims=- ” %%a in (‘date /t’) do (

echo %%a

echo %%b

echo %%c

)

对 date /t 的输出结果,每行取1、2、3列

率先列对应指定的 %%a ,后边的 %%b 和 %%c 是派生出来的,对应其他列

分隔符指定为 – 和”空格”,注意 delims=- 前边有个”空格”

里面 tokens=1,2,3 若用 tokens=1-3 替换,效果是千篇一律的

for /f “tokens=2* delims=- ” %%a in (‘date /t’) do echo %%b

取第2列给 %%a ,其后的列都给 %%b

38 subst (外部命令)

照耀磁盘。

subst z: serverd #诸如此类输入z:就足以访问serverd了

subst z: /d #废除该映射

subst #展现如今拥有的映时

39 xcopy (外部命令)

文件拷贝

xcopy d:mp3 e:mp3 /s/e/i/y

复制 d:mp4 文件夹、所有子文件夹和文书到 e: ,覆盖已有文件

加 /i 代表只要 e: 没有 mp5 文件夹就活动新建一个,否则会有询问

相关文章