0

ファイルの名前を変更するための解決策をすでに見つけました。実際には機能しないものもあれば、ファイルの末尾の後に接尾辞を追加しただけのものもありました

@echo off
Setlocal enabledelayedexpansion

For %%a in (*.*) Do (
Ren "%%a" "%%a Tenor 1"
)

Pause&Exit

私の問題:次のようなフォルダーにいくつかのファイルタイプがあります。

song1.mp3
song2.mp3
Text1.txt
Text2.txt
Document1.pdf
Document2.pdf
Add_Tenor_1.bat
Add_Tenor_2.bat
ReplaceBlankwithUnderline.bat

等々。たとえば、バッチファイルを除くすべてのファイルに「* Tenor 1」のような接尾辞を追加したいと思います。

song1 Tenor 1.mp3
song2 Tenor 1.mp3
Text1 Tenor 1.txt
Text2 Tenor 1.txt
Document1 Tenor 1.pdf
Document2 Tenor 1.pdf
Add_Tenor_1.bat
Add_Tenor_2.bat
ReplaceBlankwithUnderline.bat

*.*例外(for .bat)を使用してfor条件で使用することはできますか?バッチ ファイルのコードはどのようになりますか?

もう 1 つの方法は、たとえば、.txt および .pdf ファイルにのみサフィックスを追加することです。これは 1 つのルーチンで機能しますか、それとも .txt 用と .pdf 用に 1 つずつ必要ですか?

song1.mp3
song2.mp3
Text1 Tenor 1.txt
Text2 Tenor 1.txt
Document1 Tenor 1.pdf
Document2 Tenor 1.pdf
Add_Tenor_1.bat
Add_Tenor_2.bat
ReplaceBlankwithUnderline.bat

このバッチ ファイルのコードはどのようになりますか?

本当にありがとうございました!

Renamer のようなプログラムがあることも知っています。しかし、私は常に同じものを(同時にではなく)広告したいので、プログラムを開いて選択して名前を変更するよりも、バッチだけを押す方が速いです:)

よろしくchrisdi91

4

2 に答える 2

1

デモンストレーションのために、1 つのバッチで除外方法と包含方法を示すためだけにバッチを投稿します。

@echo off
Setlocal enabledelayedexpansion
Set "Exclude=.bat$ .cmd$ .exe$ .vbs$ " 
Set "Include=*.txt *.pdf"

For /f "Delims=" %%a in (
  'Dir /B %Include% ^| findstr /i /V "%Exclude%" '
  ) Do Echo Ren "%%a" "%%~na Tenor 1%%~xa"

Pause
Goto :Eof


Ren "Document1.pdf" "Document1 Tenor 1.pdf"
Ren "Document2.pdf" "Document2 Tenor 1.pdf"
Ren "Text1.txt" "Text1 Tenor 1.txt"
Ren "Text2.txt" "Text2 Tenor 1.txt"
Ren "vm_fire.txt" "vm_fire Tenor 1.txt"
Ren "vm_idle.txt" "vm_idle Tenor 1.txt"
于 2016-11-05T16:01:39.420 に答える