0

私はwindows8でAtomicParsleyを使用して、.mp4TV番組に正しいAtomを設定しています。現在、Artist、TVShowNameなどの「共通」タグを正しく指定できます。これらは実際にはタグ付けしているすべてのファイルで同じです。私の問題は、バッチファイルで各ファイルに正しいエピソード番号をタグ付けできないことです。「file001」はepisode1、「file002」->episode2などである必要があります。

現在、これを使用してファイルにタグを付けています。

for %%1 in (*.m4v *.mp4) do %AtomicParsley% "%%1" --stik "TV Show" --artist "%artist%" --title "%%~n1" --TVShowName "%TVShowName%" --TVSeasonNum %TVSeasonNum% --overWrite

--TVEpisode私が必要としているのは、このフィールドに増加する(長さ1のステップで)一意の番号を割り当てるある種のカウンターです。明らかに、-TvEpisodeカウンターと一緒に機能するには、前述のコマンド(または同等のコマンド)も必要です。

4

2 に答える 2

2
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION 
SET count=0
for %%e in (*.m4v *.mp4) do (
SET /a count+=1
%AtomicParsley% "%%e" --stik "TV Show" --artist "%artist%" --title "%%~ne" --TVShowName "%TVShowName%" --TVSeasonNum %TVSeasonNum% --overWrite --TVEpisode !count!
)

--TVEpisodeユーティリティが引数を使用して、希望する方法でファイル名を割り当てると仮定します。

于 2013-03-14T13:45:57.073 に答える
0

ファイルが実際に「file001」、「file002」などの名前である場合、カウンターを使用する代わりにファイル名から番号を取得できます。

@echo off
setlocal enabledelayedexpansion
for %%a in (*.mp4) do (
    set "filename=%%~na"
    set /a TVEpisode=1!filename:~-3!-1000
    %AtomicParsley% "%%a" --stik "TV Show" --artist "%artist%" --title "%%~n1" --TVShowName "%TVShowName%" --TVSeasonNum %TVSeasonNum% --overWrite --TVEpisode !TVEpisode!
)

この行set /a TVEpisode=!filename:~-3!は、ファイル名の最後の 3 文字を取得し、それらを数値として %TVEpisode% に割り当てています (したがって、先頭のゼロを削除しています)。(実際には、3 桁の先頭に 1 を追加し、1000 を引いて元の数値に戻します。set /aこれは、先頭の 0 で始まる数値を 8 進数として扱うためです。)

于 2013-03-14T14:37:57.260 に答える