[前の記事]« [NT系]共有フォルダ配下のファイル/フォルダをすべて削除するには
[次の記事]本日更新されたファイルかどうかを判定したい »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「文字列の操作」索引へ

フルパスからファイル名部分を取り出す方法

760.
フルパスからのファイル名の取得方法
2004年09月06日(月) 11時17分
紫陽花
皆様のお知恵をかしてください。
Q.以下の例のようにフルパスからのファイル名(EXCEL.EXE)を
取得したいのですが、どのように行えばよろしいのでしょうか?

例 C:\Program Files\Microsoft Office\Office\EXCEL.EXE

P.S 頭ん中では、フルパスの後尾から"\"までを判断して、
文字を抜き出したらいいんじゃないって浮かぶのですが、
なかなかプログラム化されません。
762.
Re:フルパスからのファイル名の取得方法
2004年09月06日(月) 11時23分
紫陽花
発言者の紫陽花です。
環境について記述してなかったので追記します。
OS:Windows2000server
764.
Re2:フルパスからのファイル名の取得方法
2004年09月06日(月) 12時46分
じゃく
>OS:Windows2000server

フルパスのファイル名を引数(%1)で指定するなら
%~nx1
という表現でファイル名と拡張子を取り出せます。

バッチ内に直接記述するなら
for /F "delims=" %%F in ("C:\Program Files\Microsoft Office\Office\EXCEL.EXE") do set fname=%%~nxF
echo %fname%
のように、for文で取得できます。
765.
Re3:フルパスからのファイル名の取得方法
2004年09月06日(月) 13時33分
紫陽花
じゃくさん♪お早くの解答ありがとうございました。m(__)m

>フルパスのファイル名を引数(%1)で指定するなら
>%~nx1
>という表現でファイル名と拡張子を取り出せます。
上記の解答は、これまたじゃくさんの過去解答から調べて引数ならはできるってわかりました。
しかし、私の場合は、%~n1%~x1 としてました。ハハハ…お恥ずかしい
参照:http://fpcu.on.coocan.jp/dosvcmd/bbs/log/cat3/cat10/3-0506.html

>バッチ内に直接記述するなら
>for /F "delims=" %%F in ("C:\Program Files\Microsoft Office\Office\EXCEL.EXE") do set fname=%%~nxF
>echo %fname%
>のように、for文で取得できます。
実際はこちらのパターンの解答を求めてました。
実装しうまく動作することを確認できました。
この度はじゃくさんの解答に感謝しております。
ありがとうございました。
 
 


カテゴリー「文字列の操作」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2004年09月06日 09:09に投稿されたエントリーのページです。

ひとつ前の投稿は「[NT系]共有フォルダ配下のファイル/フォルダをすべて削除するには」です。

次の投稿は「本日更新されたファイルかどうかを判定したい」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート