[前の記事]« Webサイト自動巡回バッチファイルを作りたい
[次の記事][win2000Server]コマンドプロンプトからイベントログを取得するには »

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

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

共有ディレクトリのパスをバッチファイルから取得するには

312.
ネットワーク上でのバッチファイル実行pathの取得
2004年03月12日(金) 10時15分
GS
初めて質問いたします.
DOSプロンプト初心者GSと申します.

Windows XP 上でバッチファイルtest.batを作成しているとして
それをネットワーク上の共有ディレクトリに置き,
そこで実行します.そのとき,
共有ディレクトリ内に置いてある別のバッチファイルtest2.batを
callしたいのです.
当然,test.bat に
call \\servername\share\test2.bat
と記述すればよい話なのですが,これでは
test.batの置き場所が変わる度に
中身を書き換える必要があります.
どこにtest.batを置いても
中身の記述を変えずに実行されるようにしたいのです.

ネットワーク上にあるtest.batを実行すると,
'\\servername\share'
上記の現在のディレクトリで CMD.EXE を開始しました。
UNC パスはサポートされません。Windows ディレクトリを既定で使用します。
とメッセージがまず表示されますが,そのときの
文字列'\\servername\share'が取得できれば
それを元にまず仮想ドライブを割り当てるなどの方法が
取れるんじゃないかと思いいろいろ試してみたのですが,
取得することができず,うまくいきません.

他に良い方法がありましたら
ぜひご教授いただきたいと思います.
よろしくお願いいたします.
314.
Re:ネットワーク上でのバッチファイル実行pathの取得
2004年03月12日(金) 18時01分
oo
>Windows XP 上でバッチファイルtest.batを作成しているとして
>それをネットワーク上の共有ディレクトリに置き,
>そこで実行します.そのとき,
>共有ディレクトリ内に置いてある別のバッチファイルtest2.batを
>callしたいのです.

test.bat と test2.bat が同一ディレクトリだということですよね?
(案1) test.bat から call %~dp0test2.bat とtest2を呼ぶ
(案2) test.bat の先頭で、pushd %~dp0 としてそこのディレクトリをカレントディレクトリにして、 call test2.bat

ネットワークディレクトリの時は、
%~d0 が、\\
%~p0 が、servername\share\
になるようですので、%~dp0で \\servername\share\ が得られます。
(%~d0 が \\servername %~p0 が \share\ の方がしっくり来るんですけど、そうはならないようです。%~d0 って単にフルパスの先頭2文字なのかな?) 
315.
解決しました!
2004年03月12日(金) 18時10分
GS
GSです.
ooさん,ありがとうございます!!解決しました!


>ネットワークディレクトリの時は、
>%~d0 が、\\
>%~p0 が、servername\share
>になるようですので、%~dp0で \\servername\share が得られます。

コマンドラインリファレンス(hh ntcmds.chm)を見て
echo %~dp1 とやると
ECHO は OFF です
と怒られ?,あきらめていました.
まさか0でいけるとは・・・

ともかく,助かりました!
 
 


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

 

カテゴリー一覧

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


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

資料書籍

About

2004年03月12日 15:34に投稿されたエントリーのページです。

ひとつ前の投稿は「Webサイト自動巡回バッチファイルを作りたい」です。

次の投稿は「[win2000Server]コマンドプロンプトからイベントログを取得するには」です。

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

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