お好きなフォルダで xampp で xoops

2009
2/17

いやぁ~ 思いのほか上手くできたようです。

昨日考えてた 「任意のドライブ、フォルダにある xampp を起動して、xoops を動かす」 方法・・・

ネット上の情報を漁って、最終的にスタート用とストップ用の VBScript(WSH)を作成してみました。

 

これを使うと、どのドライブのどのフォルダ(サブフォルダ)に xampplite を置いていても、自由自在に起動可能になりました。
もともと xampp や xampplite は、インストールして利用するのが基本ですが、インストールせずに利用することも可能です。
しかし、インストールしない場合は、ドライブのルートに xampp(または、xampplite)フォルダを置かないとちゃんと動作しないという制約がありました。

ところが、今回の方法ですと xamppliteフォルダ の親フォルダを 「Zドライブ」 として新たに割り当てて固定するため、たとえどのドライブのどのサブフォルダにあっても、USBメモリーに保存していたとしても、xampplite はZドライブ直下と同等になって動作しますし、 xoopsの設定(mainfile.php)も Zドライブ 用の設定にするだけで大丈夫。

あとは・・・既に Zドライブ を利用されている場合が問題かな?

まあ、そんな場合は、VBSの中で指定してる 「Xドライブ」とか「Vドライブ」など、任意のドライブ名に書き換えて、mainfile.php のパス設定を書き換えたドライブ用にすれば良いだけなので、楽だと思うな。

 

とりあえず、これで暫くローカル運用してみようと思う。。。

 

とりあえず自分の参考として、以下に記述しておこうと思います。

まあ、いないとは思いますが、、、もしも、利用してみたい人がいらっしゃる場合は・・・申し訳ありませんが、素人が訳もわからず作ったものなので、よ~く内容検討してからお願いしたく。 m(_ _)m
識者の方々、もしよろしければ内容のおかしなところを、ご指摘・ご指導いただければ幸いです。

使い方としては、任意のドライブの任意のフォルダに start.vbs と stop.vbs を入れて、そこに xampplite フォルダを保存、start.vbsダブルクリックでxamppが起動して ローカルホスト をIEが表示します。終了は、stop.vbsのダブルクリック。
当然ながら、vbsを使っているので Windows 専用です~ (当方、Windows XP Pro sp3 環境で作成、検証しました)
xampplite は zip か 7zip 形式のものを xampp のサイトからダウンロードして、インストールせずに利用します。
もし、xampp などをインストールしている場合は、インストール先を参照してしまうので、エラーがでるかも?

 

start.vbs

Option Explicit
On Error Resume Next
Dim str
Dim strDrive ' ドライブ名
Dim objWshShell
Dim cmd ' コマンド代入
Dim objFSO
Dim objWShell
Dim strNewFolder ' 移動するフォルダ
Dim strCmdLine ' 実行するコマンド
Dim strUrl ' 表示するページ
Dim objIE ' IE オブジェクト
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objWshShell = CreateObject("WScript.Shell")
Set objWShell = CreateObject("WScript.Shell")

'カレントディレクトリを str に代入
str= objWshShell.CurrentDirectory
cmd = "subst z: " & str
CreateObject("WScript.Shell").Run cmd ,0

' 5秒待つ
WScript.Sleep 5000

If (objFSO.DriveExists("Z")) then
else
' 足りなけりゃ、もう5秒待つ
WScript.Sleep 5000
end if

If Err.Number = 0 Then
  strNewFolder = "z:xampplite"
  objWshShell.CurrentDirectory = strNewFolder

  strCmdLine = "xampp_start.exe"
  objWshShell.Exec(strCmdLine)
      WScript.Echo "xampplite を 起動しました。"
Else
  WScript.Echo "エラー: " & Err.Description
End If

' InternetExplorerを起動する
strUrl = "http://localhost"
Set objIE = WScript.CreateObject("InternetExplorer.Application")
If Err.Number = 0 Then
  objIE.Navigate strUrl
  objIE.Visible = True
Else
  WScript.Echo "エラー:" & Err.Description
End If

Set objIE = Nothing
Set objFSO = Nothing
Set objWshShell = Nothing
Set objWShell = Nothing

stop.vbs

Option Explicit
On Error Resume Next
Dim objWshShell
Dim cmd ' コマンド代入
Dim strNewFolder ' 移動するフォルダ
Dim strCmdLine ' 実行するコマンド
Set objWshShell = CreateObject("WScript.Shell")
'xampplite を終了する

If Err.Number = 0 Then
  strNewFolder = "z:xampplite"
  objWshShell.CurrentDirectory = strNewFolder
  strCmdLine = "xampp_stop.exe"
  objWshShell.Exec(strCmdLine)
  WScript.Echo "xampplite を 終了しました。次に Z ドライブを解除します。"
Else
  WScript.Echo "エラー: " & Err.Description
End If

' 5秒待つ
WScript.Sleep 5000

' Zドライブを解除する
cmd = "subst /d z:"
CreateObject("WScript.Shell").Run cmd ,0

WScript.Echo "Zドライブを解除しました。"

Set objWshShell = Nothing

トラックバック・ピンバックはありません

トラックバック / ピンバックは現在受け付けていません。

この投稿へのコメントは受け付けていません。