ファイルパスを引数として取るバッチファイルがあります
set filePath = %1
ここで、ファイル パスが:であるとしましょう。新しい変数にC:\Temp\Folder
を設定したいと思います。Folder
どうやってやるの?
私はウェブで検索し、すべてのソリューションは次のようなものです:
for %%A in (%filePath%) do set last=%%A
ただし、これはスペースを含む文字列に対してのみ機能します。
ファイルパスを引数として取るバッチファイルがあります
set filePath = %1
ここで、ファイル パスが:であるとしましょう。新しい変数にC:\Temp\Folder
を設定したいと思います。Folder
どうやってやるの?
私はウェブで検索し、すべてのソリューションは次のようなものです:
for %%A in (%filePath%) do set last=%%A
ただし、これはスペースを含む文字列に対してのみ機能します。
スラッシュをスペースに置き換えてから解析できます。
set filePath=%1
set filePath=%filePath:\= %
for %%A in (%filePath%) do set last=%%A
修飾子を に適用することで、Folder
から抽出できます。C:\Temp\Folder
~n
%1
SET "last=%~n1"
最後の項目に が含まれている可能性がある場合は、代わりに次.
を使用します。~nx
SET "last=%~nx1"
修飾子は、位置パラメーターまたはループ変数に適用され、その~n
パラメーターまたは変数によって指定されたパスから姓を抽出します。修飾子は、姓の~x
拡張子 (最後の から始まる部分.
) を抽出します。したがって、~nx
(姓)名と拡張子の両方を抽出します。