Reemplazar lograr archivo por lotes de varios niveles (carpeta) nombre del contenido designado

explicación

Función se implementa utilizando la forma en que Windows comando Bat. No hay manera de hacerlo usando Python, Bat está aprendiendo, la gramática no está muy familiarizado con, debe haber una manera más fácil.

El inicio de la web para encontrar un ready-made, y se encontró que ambos tenían operaciones sólo en el presente, no hay manera para anidar.

Más adelante en el uso de anidado y encontrado el comando ren en el momento de la sustitución de parte de la parte posterior del directorio de destino no se puede utilizar de una manera jerárquica. Este lugar no encuentra el camino correcto, el uso de tokens escriben muertos.

código

Descripción: tokens = 6,7 Este lugar está escrito muertos, no hay manera de obtener el uso de contenidos subíndice última reciclado. La sintaxis no está familiarizado. Siga el tiempo familiar y luego cambiar durante la noche

@echo off

Setlocal Enabledelayedexpansion
::指定起始文件夹
set DIR="%cd%"
echo DIR=%DIR%

::要替换的部分
set "str=需要替换的内容"

:: 参数 /R 表示需要遍历子文件夹,去掉表示不遍历子文件夹
:: %%f 是一个变量,类似于迭代器,但是这个变量只能由一个字母组成,前面带上%%
:: 括号中是通配符,可以指定后缀名,*.*表示所有文件


for /R %DIR% %%i in (*.*) do (

    ::tokens=6,7 这个地方是写死的,没有使用循环的方式去判断最后一个斜杠
	for /f "tokens=6,7 delims=\" %%a in ("%%i") do (
	
		:: set "var=%%a" ren "%%i" "!var:%str%=!"	
		set "var=%%a" & ren   "%%i" "!var:%str%=!"			
	)

)

for /f "delims=" %%i in ('dir /b *.*') do (
	set "vars=%%i" & ren "%%i" "!vars:%str%=!")
	
pause>nul

 

Publicados 127 artículos originales · ganado elogios 132 · Vistas 3,66 millones +

Supongo que te gusta

Origin blog.csdn.net/m290345792/article/details/104583054
Recomendado
Clasificación