バッチ: ファイル拡張子を削除する 質問する

バッチ: ファイル拡張子を削除する 質問する

Wikipedia から次のバッチ スクリプトを入手しました。

@echo off
    for /R "C:\Users\Admin\Ordner" %%f in (*.flv) do (
    echo %%f
)
pause

for ループでは、拡張子が flv のすべてのファイルがエコーされますが、ファイルに対していくつかのアクションを実行し、拡張子なしのファイルを 1 回、拡張子ありのファイルを 1 回実行したいと考えています。この 2 つを取得するにはどうすればよいでしょうか。

解決策を探しましたが、見つかりません。私はバッチ処理の初心者です...

ベストアンサー1

ファイル名を取得するには、%%~nfリファレンスに記載されているように、for:

@echo off
    for /R "C:\Users\Admin\Ordner" %%f in (*.flv) do (
    echo %%~nf
)
pause

利用可能なオプションは次のとおりです。

修飾子付き変数の説明

%~I %Iを展開し、周囲の
                        引用符("")。
%~fI %I を完全修飾パス名に展開します。
%~dI %I をドライブ文字のみに展開します。
%~pI %I をパスのみに展開します。
%~nI %I をファイル名のみに展開します。
%~xI %I をファイル拡張子のみに展開します。
%~sI パスを拡張して短い名前のみを含めます。
%~aI %I をファイルのファイル属性に展開します。
%~tI %I をファイルの日付と時刻に展開します。
%~zI %I をファイルのサイズに拡張します。
%~$PATH:I PATH環境にリストされているディレクトリを検索します
                        変数%Iを完全修飾名に展開します
                        最初に見つかったもの。環境変数名が
                        定義されていないか、検索でファイルが見つからない場合、
                        この修飾子は空の文字列に展開されます。    

おすすめ記事