指定されたコンテンツのマルチレベルのバッチファイル(フォルダ)の名前を達成置き換え

説明

機能は、Windowsのコマンドバットの方法を使用して実装されています。パイソンを使用してそれを行うための方法はありません、バットは今、もっと簡単な方法があるはず、文法は非常に精通していない、学んでいます。

既製を見つけるために、ウェブの始まり、との両方が存在するだけで操作を持っていたことが分かった、ネストのための方法はありません。

その後、ネストされたの使用で、見つかったターゲットディレクトリの背中の一部の交換時のRENコマンドは、階層的に使用することはできません。この場所は、トークンが死んで書く使用して、正しい方法を見つけることができませんでした。

コード

説明:トークン= 6,7この場所は死んで書かれている、リサイクル最後の添字のコンテンツの利用を取得する方法はありません。構文は精通していないです。おなじみの時間に従った後、一晩変更

@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

 

公開された127元の記事 ウォンの賞賛132 ビュー366万+

おすすめ

転載: blog.csdn.net/m290345792/article/details/104583054