0

これまでのところ、選択したフォルダーのファイル名にサフィックスを追加するバッチ ファイルを作成しました。その種類は次のとおりです。

  1. *.avi
  2. *.mkv
  3. *.mp4
  4. *.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 : "");
4

0 に答える 0