Windows2000 Serverで特定のフォルダを開いて閉じるプログラムを教えてください

このQ&Aのポイント
  • Windows2000 Serverのサーバーで、特定のフォルダを自動で開いて閉じる処理を行いたいです。
  • 現在、特定のフォルダを開くコマンドはわかっていますが、閉じるコマンドが不明です。
  • 同様の質問があるサイトでも、指定のフォルダを閉じる方法が明確になっていないため、助けを求めています。
回答を見る
  • ベストアンサー

フォルダを開いて、閉じるのプログラムを教えてください

はじめまして。プログラムがあまり分からないのですが書き込みさせていただいています。 Windows2000 Serverのサーバーで、 ある特定のフォルダを”開くー数秒そのままー閉じる”という処理を自動で行いたいのです。 どなたかこのような処理をするコマンド(プログラム)ご存知でしょうか。 ”開く”というコマンドは、 explorer "C:\xxxx\yyy start c:\xxxx と、いくつかあるようですが、指定のフォルダを閉じるコマンドがわかりません。 下記にも同様の質問があるのですが、指定のフォルダを閉じるという結果が得られていなかったので、書き込みさせていただいています。 http://oshiete1.goo.ne.jp/qa4024982.html ご協力お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • SHIMAPEE
  • ベストアンサー率75% (154/203)
回答No.2

回答番号:No.1 お礼へのアドバイスです。 mk-sanさんもお気づきと思いますが、対象のフォルダを開いて閉じるのが最善の対策かどうかは疑問ですね。 5000ファイルを溜め込む処理(どういう間隔で? 1日で?)を見直すのがよいかもしれませんし、また、目視で5000ファイル全てを確認するのではないでしょうから、フォルダを開かずに目的のファイルだけを直接開けばよいかもしれません。 やはりフォルダを開かざるを得ないとしても、キャッシュを有効にするためにはフォルダを開いて閉じなくてもスクリプトでフォルダ内を空読みすればよさそうな気がします。 一般論として、OSへの要求(本件の場合フォルダを開いて閉じる)は避けられるものなら避けた方がシステム全体の性能のためには良いと思います。

mk-san
質問者

お礼

SHIMAPEEさん。 貴重なご回答ありがとうございます。 やはり5000件ものファイルを溜め込むことからの見直しからスタート しようかと思います。 ありがとうございました。

その他の回答 (1)

  • SHIMAPEE
  • ベストアンサー率75% (154/203)
回答No.1

閉じるためにはWindowを探すという不確実な方法を取るしかなさそうです。VBS(WSH VBScript)で書くと例えば下のようになります。Windows XP SP3で試しましたがWindows2000 Serverでも同様にできると思います。 なお、数秒開いて自動的に閉じることの目的は何でしょうか。確認するためにはじっくり眺めてから手動で閉じるべきでは。 例えばファイルが1個以上存在すればOKとか? もしそうでしたらフォルダを開かずにスクリプトでチェックした方がよいと思います。 目的を書いて頂ければ別の回答があるかもしれません。 'goo4540635.vbs Option Explicit Dim FolderName, WshShell, fso, Return FolderName = "C:\Program Files" '★開くフォルダのフルパス Set WshShell = WScript.CreateObject("WScript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") Return = WshShell.Run("""" & FolderName & """", 1) 'フォルダを開く if Return=0 then WScript.Sleep 3000 '★3000ms待つ WshShell.AppActivate fso.GetFileName(FolderName) 'Windowを探す WScript.Sleep 100 WshShell.SendKeys "%{F4}" 'ALT+F4キーを送って閉じる end if

mk-san
質問者

お礼

SHIMAPEEさん ありがとうございます。 ご指摘いただいている”目的”ですが、 Win2kサーバーをファイルサーバーとして利用しているのですが、 1つのフォルダ内に5000ファイルほどをためてしまう構造になっています。(サーバの他のフォルダからスクリプト(?)のようなものを使って、自動的にそのフォルダにデータがたまるようになっています。)  そのためなのかは、よくわからないのですが、そのフォルダをサーバー上で開くと、数十秒近く時計マークがでてなかなかフォルダ内のデータを確認できません。一度そのフォルダを開くと、その後は瞬時に開くようになります。(キャッシュの問題では?と同僚から言われております。) 他の処理にも何となくですがレスポンスが悪くなっているような気がします 構造的な問題があるかもしれないのですが、このレスポンスの悪さを解消するために、データを移動させるスクリプトにデータ移動後、フォルダを開いて、閉じるという内容を加えたいと思っております。 この処理をする際には、指定のフォルダ以外は開いていないようにする予定です。 このようなご回答で今回の投稿内容の目的をご理解いただけるでしょうか。

関連するQ&A

  • プログラムにWINDOWSから自動で割り当てられたフォルダを割り当て解除する方法

    レジストリに、  HKEY_CLASSES_ROOT   Folder    shell     program1で処理      command ・・・ データは、「C:\~\program1.exe "%1"」を指定 と登録する事で、Explorerの右クリック・コンテキストに「program1で処理」を追加し、 例えば、フォルダAAを右クリックし、「program1で処理」を選択すると、 C:\~\program1.exe AA がコマンドとして実行され、 実行されたprogram1.exeでは、フォルダAAを処理したいのですが、 AAが、program1.exeに既に割り当てられており、困っています。 AAを割り当てない、叉はprogram1.exeに割り当てられたAAを割り当てから外す事は出来るでしょうか? program1.exeは、C#.NETで作成しています。 参考)最終的にやりたいことは、AA(フォルダ、またはファイル)の移動(move)ですが、moveによる削除の段階で「他のプロセスに割り当てられている」と怒られてしまいます。この「他のプロセス」と言うのが調べたところ、自分自身なのです。

  •  他のVERにあった「すべてのプログラム」というフォルダを開きたい

     他のVERにあった「すべてのプログラム」というフォルダを開きたい  win7です、宜しくお願いします。  以前のverはスタートボタン(WINDOWマーク)を右クリックしたら エクスプローラ、スタートメニュ?を選択出来ていて、 スタートメニュのフォルダから、インストールされている プログラム)とかが見れて、起動時のファイル(プログラム)とかも 設定出来るようになっていましたが、WIN7ではどうしたらこのフォルダ にアクセスすることができるのでしょう?  実はスタートボタンから表示されるプログラムのショートカットを作成 しょうとして、そのプログラムの上で右クリックしても、 ダイヤログはでてくるのですが、「ショートカットの作成」という メニュはありません。  そこで、すべてのプログラムを見れるフォルダを見ようとして、 スタートボタンを右クリックしたのですが、エクスプローラを開く ショートカットはありましたが、プログラム(のショートカット)を 入れているフォルダにアクセス出来るショートカットがありません。  どのようにしてそのフォルダにアクセスしたらいいのでしょう。 また、他のVERのように起動時に立ち上がるプログラムの 設定等はどのようにしたらいいのでしょうか。 フォルダが開いて

  • 別サーバのプログラムを起動

    Aサーバ(xxx.xxx.xxx.xxx)よりBサーバ(yyy.yyy.yyy.yyy)上のプログラムを起動したいと考えております。 PHPのプログラム上"exec"関数などを使用するのかな?と思うのですがどうも上手くいきません。 どなたかご教示下さい。 大まかな流れとしては、 1:Aサーバ上の/home/httpd/test.phpを実行 2:1のtest.phpのプログラム内でBサーバの/home/httpd/test/testb.phpを起動する。 3:処理終了 ※testb.phpはDBに現在日付をinsertする処理となります。 お手数ですが宜しくお願い致しますm(_ _)m

    • ベストアンサー
    • PHP
  • 共有フォルダにデータを移行

    http://oshiete1.goo.ne.jp/qa4981676.htmlに関連していますが 会社のPCですが 大事なファイルやデータはすべて共有フォルダに入れています。 (上司命令) 以前まではアクセスのテーブルのみを共有フォルダにいれ、 フォームをローカルPCにいれ作業していましたが このたびSQLサーバーに移行しました。 (データ量が膨大になっていくため) 今回は一人で使用する予定なのですが そのときは共有フォルダに何をいれればいいでしょうか? 前回質問時には 「SQL Server Management Studio Expres」のフォルダを 共有フォルダに移行しても意味がないとのご指摘をうけましたが http://oshiete1.goo.ne.jp/qa4890492.htmlより 「C:\Program Files\Microsoft SQL Server\MSSQL.x」 のフォルダを共有フォルダにいれればいいのでしょうか? もしかしたらまだSQLサーバーに対して誤解してるかもしれないですが アドバイスよろしくお願いします。

  • フォルダ内の一覧表示されているものの文字情報を一括コピーする方法ありませんか2

    以前こういう質問をしたのですがコマンドプロンプトで作業したいと考えています。http://oshiete1.goo.ne.jp/qa4892868.html あまり理解できなかったので C:\Program Files\Windows Media Player 内のフォルダ名を取得するという条件ではどのような入力をすればよいのか教えて下さい。お願いします。

  • スタートメニューの「すべてのプログラム」のフォルダ

    スタートメニューの「すべてのプログラム」のフォルダが、あるユーザー名のものになっているため、「All Users」フォルダにあるプログラムが表示され困っています。 C:\Documents and Settings\All Users\スタート メニュー\プログラム を表示するようにするにはどうすればいいでしょうか。

  • プログラムが全く動かなくなりました

    xp home editionを使っているのですが、先日立ち上げたところ、デスクトップ上のショートカットを押すと、指定されたファイルに対してこの操作を行うプログラムが関連付けられていません、フォルダオプションコントロールパネルで関連づけてくださいとメッセージが出ます。それも、スタート-すべてのプログラムから選択しても全て同じエラーです。唯一エクスプローラとアウトルックのみが使える状態です。スタートからのヘルプも同じエラー、コントロールパネルもほとんど同じエラーがでる項目ばかりです。ファイル名を指定して実行から入力しても検索しにいって結局ありませんとの表示。どのようにすれば修復できますでしょうか。よろしくお願いします。

  • 「プログラムから開く」で指定できない

    vista-SP2,IE9です。 IE9のソース表示を、F12キーにて当初「terapad.exe」に指定していました。 また、IE9のアイコン右クリックメニューの「プログラムから開く」-「既定のプログラムの選択」で、「terapad.exe」を指定していました。 このとき、terapad.exeは、C:\Users\xxxx\yyyy\tpad093というフォルダにありました。 で、今回、terapad.exeがバージョンアップされていたので、C:\Users\xxxx\yyyy\tpad109というフォルダに新しいterapad.exeを入れました。 上記当初で行ったと同じように、IE9のアイコン右クリックメニューで、「既定のプログラムの選択」で新terapadを指定しようとしてもできません。旧terapadのままです。それじゃぁ、ということで旧terapadをフォルダごと削除してから「既定のプログラムの選択」で選択しても無視されます(選択リスト画面に登場してきません)。どうすればよいのでしょうか。 なお、IE9のソース表示については、F12キーにて新terapadを指定することができました。

  • XPのスタートメニューのプログラムのフォルダが右クリックで開かなくなりました

    WindowsXPでスタートメニューから「すべてのプログラム」で出てくるメニューの例えば「アクセサリ」というフォルダをそのメニュー上で右クリックすると、「開く」や「エクスプローラ」というメニューが出てきます。 以前は、その開くやエクスプローラをクリックするとフォルダが開かれていたのですが、突然、開かなくなってしまいました。 どこから、この設定(?)を元に戻せるでしょうか? よろしくお願いいたします。

  • コマンドプロンプトCのプログラムの作成

    すみません。現在小学六年生で、独学でプログラムを行っています。どうしてもわからないことがあるので、教えてください。 メモ帳で、Cのプログラムを作り、コマンドプロンプトに表示するということを行っています。 メモ帳にCのプログラムを、書き込むとこまではできるのですが、保存をすると、「このファイルを開けません」とでてきて、しかも、コマンドプロンプトに、「cd○○」と書き込む、と書いてあるのですが、そのとおりにやっても。「指定されたパスが見つかりません」とでて、そこから先、cのプログラムを作ることができません。どのようにしたらcのプログラムを作れるのでしょうか。 現在使用しているosは「windows7」で、インターネットエクスプローラー8.0です よろしくお願いします。

専門家に質問してみよう