[前の記事]« [NT系]文字列の切り出しにFOR /F "delims="を使ってみたがうまくいかない
[次の記事]「コマンドまたはファイル名が違います」と出てjavaコンパイルができない »

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

▲カテゴリー「SET, PATH, %環境変数%」索引へ

入力ファイル名(フルパス)のファイル名本体部分のみを取り出すには

354) 環境変数について DEE 2004/03/23(火) 12:15


次の書式で使うプログラムABC.exeがあります。
ABC.exe [入力ファイル名] [出力ファイル名] [スイッチ]
これは入力ファイルにあるフィルタをかけるものなんですが、
入力ファイルが沢山あるので、以下のようなバッチ処理を書きました。
ABC.exe %1 D:\Dest\%1 /s
処理を高速にするために、入力ファイルはC:(HDD一台目)に、出力ファイルはD:(HDD二台目)にしたいのです。が、当然上のような書き方をすると %1にフルパスが入っていますので、出力ファイルの書式がエラーを起こします。なんとか入力ファイルのファイル名のみを環境変数に置き換えることはできな いでしょうか?
OSはWindowsXPproです。

355) Re: 環境変数について Dr.No☆ 2004/03/23(火) 14:38

http://homepage3.nifty.com/ht80000000/

DEEさん、こん**は。

>ABC.exe %1 D:\Dest\%1 /s

この前の行に
CD hogehogeとか処理すべきファイルが入ってるフォルダにカレントフォルダを移動させておけばどうでしょう?(そうすれば%1にフルパスを入れる必要が無い)
またはバッチの引数を二つにして入力ファイル名とそのフォルダ名にするとか。


           Dr.No☆
E-mail: sk_wlily@nifty.com
ココログ: http://ht80000000.cocolog-nifty.com/
普通のページ: http://homepage3.nifty.com/ht80000000/
-----CMN


357) Re:環境変数について じゃく 2004/03/23(火) 15:55



>ABC.exe %1 D:\Dest\%1 /s

>力ファイルはD:(HDD二台目)にしたいのです。が、当然上のよう
>な書き方をすると%1にフルパスが入っていますので、

当然というところは納得しかねますが、ドラッグ&ドロップで指定しているのかな?

>出力ファイ
>ルの書式がエラーを起こします。なんとか入力ファイルのファイ
>ル名のみを環境変数に置き換えることはできないでしょうか?
>OSはWindowsXPproです。

フルパスが%1に入っているとして、ファイル名(と拡張子)だけを
取り出すには、 %~nx1 と記述します。詳しくは call /? でヘルプをご覧ください。

ABC.exe %1 D:\Dest\%~nx1 /s
 
 


カテゴリー「SET, PATH, %環境変数%」索引へ

 

カテゴリー一覧

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


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

資料書籍

About

2004年03月23日 10:50に投稿されたエントリーのページです。

ひとつ前の投稿は「[NT系]文字列の切り出しにFOR /F "delims="を使ってみたがうまくいかない」です。

次の投稿は「「コマンドまたはファイル名が違います」と出てjavaコンパイルができない」です。

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

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