① CMD命令如何实现批量修改文件名
@echooff
::0:当重命名后文件名称冲突则此文件不重命名
::1:当重命名后文件名称冲突则强制重命名此文件
::2或任何字符:当重命名后文件名称冲突则询问是否重命名
setchoose=2
::批量重命名的文件夹
::当前目录则用.
::拖入式(将文件夹拖到此文件上)则用%0
::可在设置时设置文件夹的位置,用双引号括起来,最后均不用加上""
setfile=.
::文件夹中操作对象的后缀名
setsuffix=jpg
::删去的字符
seta=aaa
::删去的字符的位数
setb=3
for%%iin("%file%*.%suffix%")do(
setc=%%i
if!c:~1,%b%!==%a%(
ifexist!c:%b%!(
if("%choose%"neq0)and("%choose%"neq1)(
choice/cYN/T10/DY/M"确认请按Y,否认请按N。"
if!errorlevel!==1(
ren"%%i""!c:~%b%!"&&echo已修改.
)else(echo已跳过.)
)
if("%choose%"equ1)(ren"%%i""!c:~%b%!"&&echo已将%%i强制修改.)
)else(
ren"%%i""!c:~%b%!"
)
)
)
setc=
setchoose=
setfile=
setsuffix=
seta=
setb=
echo重命名已结束.
pause&exit
在问题的基础上做了很大扩充
② CMD如何替换文件内容
调用一下EXE 写个EXE,接收参数就是要被替换的内容,原文内容 输出的是最终文本
③ cmd 如何替换文本文件中的内容
呵。
@echo off & setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (1.txt) do (
if "%%i"=="" (echo.) else (set "line=%%i" & call :chg)
)>>new_1.txt
pause
exit
:chg
rem 这个是保留空行
set "line=!line:1=a!"
rem 第一个替换。。。1变成a
set "line=!line:2=B!"
rem 第二个替换。。。2换成B.....
set "line=!line:3=C!"
rem 第三个。
set "line=!line:4=D!"
rem 第四个。。。
echo !line!
goto :eof
④ 怎么用CMD命令替换文件
replace
比如说你要用d盘下的abc.txt替换E盘及其所有子目录下的abc.txt那就输入:
replace D:\abc.txt E:\ /s 至于/s参数,下面有详细说明:
/a
将新文件添加到目标目录中而不是替换现存的文件。不能将此命令行选项与 /s 或 /u 命令行选项共同使用。
/p
提示您在替换目标文件或添加源文件之前确认。
/r
替换只读文件和未受保护的文件。如果没有指定该命令行选项却尝试替换只读文件,就会发生错误并终止替换操作。
/w
replace 开始搜索源文件之前等待用户插入磁盘。如果没有指定 /w,按回车后,replace 立即开始替换或添加文件。
/s
搜索目标目录的所有子目录并替换匹配的文件。不能将 /s 命令行选项与 /a 命令行选项共同使用。replace 命令不搜索 path1 中指定的子目录。
/u
只替换(更新)目标目录中比源目录中文件旧的文件。不能将/u 命令行选项与 /a 命令行选项共同使用。
⑤ 关于cmd命令替换文本文件某一段内容
@echo off
setlocal enabledelayedexpansion
set time=%time:~0,5%
for /f "delims=" %%i in (1.txt) do (
echo %%i|findstr /i "time"
if !errorlevel! equ 0 (echo time=%time%>>2.txt)else (echo %%i>>temp.txt))
del /q 1.txt&&move temp.txt 1.txt
将这个保存为bat文件,放在你的TXT文件同一目录。其中1.txt为你的原文件。