これまでのところ、選択したフォルダーのファイル名にサフィックスを追加するバッチ ファイルを作成しました。その種類は次のとおりです。
- *.avi
- *.mkv
- *.mp4
- *.ass
*.srt
ここで、 /ファイル (字幕ファイル) を介して特定のテキストを検索し、見つかったテキストを含む行を削除するオプションを追加したいと思い*.ass
ます (ファイルに存在する場合)。見つかったテキストを別のテキストに置き換えるオプションも欲しいです。
私が要求したことが可能であることを願っており、あなたが提供できる助けに本当に感謝しています.
これまでの私のコード:
@if (@CodeSection == @Batch) @then
@echo off
setlocal EnableDelayedExpansion
rem Select the folder via WSH Shell.Application BrowseForFolder method
for /F "delims=" %%a in ('cscript //nologo //E:JScript "%~F0"') do set "folder=%%a"
if not defined folder goto :EOF
cd "%folder%"
for /F "delims=" %%a in ('dir /B /A-D *.avi *.mkv *.mp4 *.ass ^| findstr /I /V ".created_by_me"') do (
set "fileName=%%a"
rem Convert the file name to lowercase letters
for %%a in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
set "fileName=!fileName:%%a=%%a!"
)
if "!fileName!" equ "%%a" (
rem The original file name have all lowercase letters
ren "%%a" "%%~Na.created_by_me%%~Xa"
) else (
rem The original file name include at least one uppercase letter
ren "%%a" "%%~Na.Created_By_Me%%~Xa"
)
)
goto :EOF
@end
// JScript section
var shl = new ActiveXObject("Shell.Application");
var folder = shl.BrowseForFolder(0, "Please choose a folder.\nThis extension will add a \".HebSubs-Tvil.Me\" suffix to each file of the following types: *.ASS; *.AVI; *.MKV; *.MP4", 0, 0x00);
WSH.echo(folder ? folder.self.path : "");