

DOSコマンドバッチで定義した変数"fullpath"に絶対フルパス名が格納されているとします。
この変数からファイル名だけを抽出して別の変数"filenae"に格納したいのですが方法がわかりません。
1. set fullpath = "C:\test\test.c"
2. ----ここの部分をどのように処理すれば?------
3. set filename = fullpathから抽出したファイル名
私がやってみた方法として、for文とdir /bを組み合わせてみたのですが
for %a in ( dir /b c:\test\test.c ) do set filename =%a
本来dir /bを実行するとファイル名のみが表示されるのに、For文をかますと絶対フルパスでfilenameに値が格納されてしまいます。
dir /b c:\test\test.cの結果を直接filename変数に格納できれば解決するのですが、コマンド結果を変数に格納するにはFor文を使わないとだめなんですよね?
なにかよい方法はないでしょうか?
No.1ベストアンサー
- 回答日時:
@echo OFF
setlocal
set fullpath="C:\test\test2.c"
Call :BASENAME %fullpath%
echo %fname%
Goto :EOF
:BASENAME
set fname=%~nx1
詳しくは、call /? または for /?
わざわざソースで教えていただきありがとうございました!!
引数指定を使ってファイル名だけを取り出す方法も考えていたのですが
callを利用する手があるとは考えつかなかったです。
非常に助かりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
バッチファイルでDirで取得したファイル名を変数に入れる方法
その他(プログラミング・Web制作)
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
-
4
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
5
DOSのバッチで、変数中のファイル名を取り出すには
その他(パソコン・スマホ・電化製品)
-
6
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
7
テキストファイルから最終行の抽出
Windows Me・NT・2000
-
8
バッチファイルで昨日の日付を取得
その他(プログラミング・Web制作)
-
9
DOSコマンドのforで空白行をスキップしない
UNIX・Linux
-
10
バッチファイル 文字列にスペースがある場合
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチでテキストファイルから...
-
バッチファイル テキストファイ...
-
IPアドレスの第3オクテットだ...
-
バッチファイル(for文)がうま...
-
バッチファイルで常に最新の現...
-
コマンドプロンプト(バッチファ...
-
batの変数を直接vbsのプログラ...
-
コマンドプロンプト標準出力と...
-
エクセルのVBAについて とある...
-
コマンドプロンプトの「%1」と...
-
チームズのチャット画面にファ...
-
「win11-23H2」を「win11-24H2...
-
コマンドプロンプトのエラーに...
-
大量のフォルダからひとつのフ...
-
Thunderbirdで社内共有フォルダ...
-
「営業秘密の漏洩」について
-
バッチファイル 特定ウインドウ...
-
バッチファイル 文字列にスペ...
-
[teraterm] waitコマンドで停止...
-
アクセス 壊れた? 「ファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチでテキストファイルから...
-
バッチファイルで昨日の日付を取得
-
バッチファイルでDirで取得した...
-
コマンドプロンプト標準出力と...
-
コマンドプロンプトで2ヶ月前3...
-
telnetの自動シェルバッチを作...
-
DOSのバッチで、変数中のファイ...
-
バッチファイルで常に最新の現...
-
バッチファイル テキストファイ...
-
コマンドプロンプト画面の閉じ...
-
コマンドプロンプト(バッチファ...
-
絶対パス名からファイル名を取...
-
子バッチ内のキー入力処理へ自...
-
IPアドレスの第3オクテットだ...
-
Excelで住所録を地域ごとに振り...
-
コマンドプロンプト(バッチ)...
-
バッチファイルに日付(ミリ秒...
-
Kシェルでgotoのような処理を作...
-
DOSのバッチで、テキストファイ...
-
VBアプリケーションで終了コー...
おすすめ情報