2

ファイルパスを引数として取るバッチファイルがあります

set filePath = %1

ここで、ファイル パスが:であるとしましょう。新しい変数にC:\Temp\Folderを設定したいと思います。Folderどうやってやるの?

私はウェブで検索し、すべてのソリューションは次のようなものです:

for %%A in (%filePath%) do set last=%%A

ただし、これはスペースを含む文字列に対してのみ機能します。

4

3 に答える 3

3

スラッシュをスペースに置き換えてから解析できます。

set filePath=%1
set filePath=%filePath:\= %
for %%A in (%filePath%) do set last=%%A
于 2012-07-30T17:35:40.963 に答える
3

修飾子を に適用することで、Folderから抽出できます。C:\Temp\Folder~n%1

SET "last=%~n1"

最後の項目に が含まれている可能性がある場合は、代わりに次.を使用します。~nx

SET "last=%~nx1"

修飾子は、位置パラメーターまたはループ変数に適用され、その~nパラメーターまたは変数によって指定されたパスから姓を抽出します。修飾子は、姓の~x拡張子 (最後の から始まる部分.) を抽出します。したがって、~nx(姓)名と拡張子の両方を抽出します。

于 2012-07-30T17:53:14.953 に答える