[前の記事]« csv内の連続カンマが1つのデリミタとして処理されてしまう
[次の記事]「指定した名前のファイルがあれば表示」したい »

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

▲カテゴリー「バッチファイルの起動、引数の取得」索引へ

[NT系]引数から拡張子を除きたい 


506) 引数から拡張子を除きたい たろう 2004/06/09(水) 21:41


初めて書込みをします。
バッチファイルをファイル名を引数(%1:%1はtest.drw)として起動します。
バッチファイルの中で、%1から.drwを除いて test という文字列に変換したいのですが、どのようにすればいいのでしょうか。
OSはNTと2000を併用しています。よろしくお願いします。

510) Re:引数から拡張子を除きたい じゃく 2004/06/10(木) 10:14

http://www.microsoft.com/windows2000/ja/server/help/percent.htm

こんにちは。

>バッチファイルをファイル名を引数(%1:%1はtest.drw)として起動します。
>バッチファイルの中で、%1から.drwを除いて test という文字列に変換したいのですが、どのようにすればいいのでしょうか。
>OSはNTと2000を併用しています。よろしくお願いします。
NTは未検証なのですが、
%~n1 という記述で拡張子を除いたファイル名を表現できます。
例)
echo %~n1
とか
set fname=%~n1
など。

ここに、windows2000で使えるその他の記述が載っています。
http://www.microsoft.com/windows2000/ja/server/help/percent.htm

手元のNTのヘルプでは、以下の記述が記載されています。
バッチ パラメータ (%n) の置換は拡張されました。次のオプション構文
を使うことができます:

%~f1 - %1 を完全修飾パス名に展開します。
%~d1 - %1 をドライブ文字だけに展開します。
%~p1 - %1 をパスだけに展開します。
%~n1 - %1 をファイル名だけに展開します。
%~x1 - %1 をファイル拡張子だけに展開します。
%~s1 - n と x オプションの意味を変更し、短い名前を
参照します。
%~$PATH:1 - PATH 環境変数に指定されているディレクトリを
検索し、最初に見つかった完全修飾名に %1 を
展開します。環境変数名が定義されていない場合、
または検索してもファイルが見つからなかった
場合は、この修飾子を指定すると空の文字列に
展開されます。


515) Re2:引数から拡張子を除きたい たろう 2004/06/10(木) 20:33


ありがとうございます!!
上手く動きました。
今後ともよろしくお願いします。
 
 


カテゴリー「バッチファイルの起動、引数の取得」索引へ

 

カテゴリー一覧

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


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

資料書籍

About

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

ひとつ前の投稿は「csv内の連続カンマが1つのデリミタとして処理されてしまう」です。

次の投稿は「「指定した名前のファイルがあれば表示」したい」です。

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

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