ファイルパスを引数として取るバッチファイルがあります
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(姓)名と拡張子の両方を抽出します。