批处理BAT。修改指定文件夹(带目录)下的文件名称(单一的和批量的)

1. 单一的重命名,代码如下:

bat for循环100次 bat脚本for循环100次bat for循环100次 bat脚本for循环100次


bat for循环100次 bat脚本for循环100次


bat for循环100次 bat脚本for循环100次


pause

cd /d D:

if exist 111.txt (

if not exist D:111 md 111

copy 111.txt 111222.txt

del 111.txt

rename 111333.txt 444.txt

3. 知道文件名如111.txt,但不明确它的路径,搜索文件如下:

for %%i in (c d e f g h) do (

cd /d %我贴个For的吧,那就是DOS的循环~%i:

echo 搜索%%i盘...

dir /s /b 111.txt2. 批量的重命名,请根据你的命名规则使用for循环即可。代码如下:

4. 知道文件名比如(111222.txt)盘符不知道,自动搜索并修改为333.txt

for %%i in (c d e f g h) do (

cd /d %%i:

echo 搜索%%i盘...

rem 搜索111文件夹

for /f %%j in ('dir /s /b /a:d 111') do (

if "%%~nj"=="111" (

if exist %%j222.txt (

echo rename %%j222.txt 333.txt

rename %%j222.txt 333.txt

))

))

pause

dos下循环命令怎么写??

rem drive or directory (%2)

看下下面的例子后也许会对你有所帮助:

可以创建批处理程序执行 xcopy 作,并且使用 if 批处理命令在发生错误时处理退出码。例如,以下的批处理程序使用可替换的 xcopy 源和目标参数:

rem COPYIT.BAT transfers all files in all subdirectories of

rem the source drive or directory (%1) to the destination

xcopy %1 %2 /s /e

if errorll 4 goto lowmemory

if errorll 2 goto abort

if errorll 0 goto exit

:lowmemory

echo Insufficient memory to copy files or

echo invalid drive or command-line syntax.

goto)pause exit

:abort

echo You pressed CTRL+C to end the copy operation.

goto exit

:exit

能阅下面的命令说明后会对你有所帮助:

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 IP PortNumber

goto end

标签的名字可以随便起,但是是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。有一些说明这样你别人看起来才会理解你的意图啊。

If 命令

if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:

1、if "参数" == "字符串" 待执行的命令

如if "%1"=="a" format a:

if {%1}=={} goto noparms

if {%2}=={} goto noparms

逻辑命令符

逻辑命令符包括:&、&&、|| &-它的作用是用来连接n个DOS命令,并把这些命令按顺序执行,而不管是否有命令执行失败; &&-当&&前面的命令成功执行时,执行&&后面的命令,否则不执行; ||-当||前面的命令失败时,执行||后面的命令,否则不执行。 ========================================= @echo off echo ^|^| reg add HKCU /v try /f||echo 成功 reg add HKCU1 /v try /f||echo 失败 echo ^&^& reg delete HKCU /v try /f&&echo 成功 reg delete HKCU /v try /f&&echo 失败 echo ^& reg delete HKCU /v try /f&echo 成功 reg delete HKCU /v try /f&echo 失败 pause ========================================= 执行reg add或reg delete后,系统会给出执行结果;我们通过echo命令也给出了“执行结果”。对比系统和我们自己给出的结果,既可以验证逻辑命令的判断机理。

BAT怎么读取一个txt文件的内容并作为循环信息进行循环作

参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句@echo off。(注意是两个等号)

@echo off&setlocal enabledelayedexpansion

set "commd=netsh dhcp server 10.10.10.3 scope 10.10.10.0"

for /f "delims=" %%a in (DHCP_POOL.txt) do (

set "ip=%%a"

call :changgedhcp

cls&echo 任意键再次修改&pause>nul

)echo ok

pause>nul&exit

:changgedhcp

!commd! !ip! show clients

goto :eof

bat 批处理的加法,想实现,i=1~5的5次循环里,j的值为2~6

rename D:111111.txt 222.txt

Setlocal EnableDelayedExpansion

for /l %%i in (1,1,5) do (set j=%%i & set /a j+=1 & echo %%i & echo !j!)

pause

:@echo off:开启变量延迟。

::多条语句写在同一行,语句间用 & 连接。