
もともとのやりたいことは実行したスクリプトの相対パスでファイルを指定することです。
(スクリプトは複数の実行環境で実行するので絶対パスでは書きたくありません)
ただし、ダブルクリックでも起動するし、別ファイルのD&Dでも起動するので
必然的に起動時のCurrentDirectoryが変化してしまいます。
これを固定化したいのです。
いまは固定化というか起動後に目的のディレクトリに移動することで実現させようと思っています。
とりあえず以下のコードを書きました。
Dim CurrentDirectory
CurrentDirectory = Left(WScript.ScriptFullName, Len(WScript.ScriptFullName) -21)
Dim oShell
Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "cmd CD " + CurrentDirectory, 0, FALSE
Set oShell = Nothing
(2行目の「-21」はスクリプト名の長さを引いているだけです。あまり気にしないでください)
が、これだと見た目はうまくいくのですがcmdプロセスが残ってしまい起動するたびに増えていきます。
それにそもそもスマートではない気がします
質問は以下です。
・上記のコードを修正してcmdプロセスを残らないようにする方法
・上記の方法以外でCurrentDirectoryを変更する方法
どちらでもかまいません。(両方だとなおうれしいです)
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは。
提示されたスクリプト中の
oShell.run "cmd CD " + CurrentDirectory, 0, FALSE
を
oShell.CurrentDirectory = CurrentDirectory
に変更すれば、やりたい事が実現出来ます。
参考URL
http://msdn.microsoft.com/ja-jp/library/cc364350 …
後、スクリプトのカレントフォルダ取得には以下の方法をよく使ってました。
path = Split(WScript.ScriptFullName,Wscript.ScriptName)
CurrentDirectory = path(0)
また、以下のマイクロソフトのサイトからWindows Script 5.6 ドキュメントを
ダウンロード出来ますので、手元に置いておくと便利です。
http://www.microsoft.com/japan/msdn/scripting/
おお、すごいです。
へんな苦労をしていたことが馬鹿みたいです。
まだまだ知識や経験が足りないようですね…。
質問自体以外にも意図やスキルを汲み取って
アドバイスをしていただき参考になりました。
大変助かりました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
powershellで関数名を変更する...
-
シェルでsyntax errorがでてしまう
-
Excel VBAで、ユーザーフォーム...
-
「デバイスは PRN を初期化でき...
-
例外処理のフローチャートの記...
-
Excel VBAでリンク切れをチェッ...
-
ユーザー定義関数に#NAME?が返...
-
エクセルVBAでシートモジュール...
-
Excel VBAで、ユーザーフォー...
-
VBAProjectのモジュ...
-
Excelで時刻になったら知らせて...
-
VBAでoutlook365が起動しません。
-
ブラウザを閉じた時にサブルー...
-
EXECEL VBA コマンドボタンか...
-
モジュールとクラスの違いって...
-
Perlソースコードをコンパイル...
-
VBAのモジュールについて教えて...
-
GetCursorInfoの使い方
-
YAMLについて
-
Oracleのデータベースに接続で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbs: オブジェクトがコレクショ...
-
Perlのライセンス
-
Cからシェルを起動し返り値をハ...
-
cygwinでcshが認識されず困って...
-
パスワードの保存
-
powershellで関数名を変更する...
-
dieによる終了コード(ステータ...
-
perl初心者 「カウンタ」
-
月刊LinuxWorldのめっちゃ便利...
-
ptkdbを使ってCGIプログラムを...
-
UWSCのスクリプトにラグが発生...
-
VBScriptでCurrentDirectoryを...
-
ADサーバにおけるログインID,PC...
-
CGI、このベンチマークは重い?...
-
プログラム初心者です。unix上...
-
perlに特化したエディタご存じ...
-
ちょっとした疑問です
-
Mac OSX 10.6を使っています。
-
頭にperlとつけないと実行できない
-
VBScriptの文字化けについてご質問
おすすめ情報