- ベストアンサー
VBSスクリプト作成について
- VBSスクリプトを使用して、特定の処理を実行する方法について質問があります。
- 具体的には、VBSスクリプトを使ってフォルダの作成やサービスの状態を出力する方法、ログインユーザのスタートアップにファイルを配置する方法、再起動後にファイルを自動削除する方法についてわからない点があります。
- 特に、フォルダの作成後に出力される「service.txt」のパスを変数に入れて出力する方法や、再起動後に作成したフォルダにファイルを出力する方法がわかりません。アドバイスをいただけると助かります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
全部できているのか分かりませんが、結構抜粋してあって、意味不明なことばかり。 >objVBSFile.WriteLine("objFSO.DeleteFile WScript.ScriptFullName") 最後の行とは、このこと? これは http://msdn.microsoft.com/ja-jp/library/cc364475.aspx の http://msdn.microsoft.com/ja-jp/library/cc364488.aspx です。そのようなリファレンスだと、ほとんどが、下部、又は上部に、関連する、オブジェクト、プロパティ、メソッドが記載されています。まずオブジェクトを理解しましょう。で、そこのプロパティですよね。返される値は、String でそこに記載されている通りです。 >Set objLog = WshShell.Exec("cmd /C ""sc query idsvc | findstr -i state > .\folder\service.txt""") こっちの話をしているのでしょう。前のところで「str_Path = objFdr.CreateFolder(".\folder")」として http://msdn.microsoft.com/ja-jp/library/cc409800.aspx http://msdn.microsoft.com/ja-jp/library/cc427988.aspx の機能を使っているわけですね。このオブジェクト、メソッドの階層を把握しましょう。そうすれば、すぐにわかります。 フォルダーオブジェクトを取得したわけです。 http://msdn.microsoft.com/ja-jp/library/cc428096.aspx 前に書きましたが、このようなリファレンスには、そのおぷじぇくとで使用できる、メソッド、プロパパティが、下部に羅列されています。そこにPathなんて言うぷろぱてぃが存在します。フォルダーオブジェクトのフルパスを String で返します。 そこにテキストを格納するわけですよね・・・ ちなみに >str_Path = objFdr.CreateFolder(".\folder") これってどこに作成されるかしっています? 実際にやってみましたか? なお、上記紹介したサイトは、古いものです。最新のページは英語サイトになっていたり、別のサイトです。なので、5.6までのバージョンしか記載されていない可能性があります。5.8なんて言うバージョンが記載されいたら最新の情報を含んでいます。対応するOSバージョンを確認してください。 もうひとつ、おまけ http://support.microsoft.com/kb/137367/ja なんいうレジもあります RunOneceですね、Windows7でももちろん動作します(仕様が)。これはログイン時に一回だけ実行するファイルを指定しておくと、実行終了後、OS側が、勝手にレジから登録を削除してくれ、1回だけ実行するにはとても便利な機能です。メーカーのドライバーや、OSなんかが利用しています。実行ファイル自体は削除されないので、削除するコードは必要ですね。 ただ、内容をみると、どうもリモート実行するような内容で・・、リモートの共有フォルダーをマウントして、終了後は、切断すればいいだけのような気がします。
補足
まだ詳しく確認させて頂いておりませんが、ありがとうございます。 まったく理解できていない仕事な為、難しいお話です。お恥ずかしい。 ちなみに仕様は、vbs実行時のあるサービスのログと再起動後のサービスのログを同じフォルダにテキストで出力するだけのものなんですが、、自分のスキルでは難しくて。。