1. ホーム
  2. batch-file

[解決済み] 変数からパスとファイル名を一括で取り出す

2023-03-29 14:21:35

質問

変数からパスとファイル名を抽出するにはどうすればよいですか?

Setlocal EnableDelayedExpansion
set file=C:\Users\l72rugschiri\Desktop\fs.cfg

関数やGOTOを使用せずにそれを行いたい。 は可能でしょうか?

どのように解決するのですか?

@ECHO OFF
SETLOCAL
set file=C:\Users\l72rugschiri\Desktop\fs.cfg
FOR %%i IN ("%file%") DO (
ECHO filedrive=%%~di
ECHO filepath=%%~pi
ECHO filename=%%~ni
ECHO fileextension=%%~xi
)

ない 本当に 機能がないとはどういう意味ですか?

明らかに、変更 ECHOSET に変更し、ECHOするのではなく、変数を設定するようにしました。

参照 for ドキュメント を参照してください。


ceztkoのテストケース(参考)

@ECHO OFF
SETLOCAL
set file="C:\Users\ l72rugschiri\Desktop\fs.cfg"
FOR /F "delims=" %%i IN ("%file%") DO (
ECHO filedrive=%%~di
ECHO filepath=%%~pi
ECHO filename=%%~ni
ECHO fileextension=%%~xi
)

コメント : コメントをご覧ください。