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を完全修飾名に展開します 最初に見つかったもの。環境変数名が 定義されていないか、検索でファイルが見つからない場合、 この修飾子は空の文字列に展開されます。