
はじめまして。プログラムがあまり分からないのですが書き込みさせていただいています。
Windows2000 Serverのサーバーで、
ある特定のフォルダを”開くー数秒そのままー閉じる”という処理を自動で行いたいのです。
どなたかこのような処理をするコマンド(プログラム)ご存知でしょうか。
”開く”というコマンドは、
explorer "C:\xxxx\yyy
start c:\xxxx
と、いくつかあるようですが、指定のフォルダを閉じるコマンドがわかりません。
下記にも同様の質問があるのですが、指定のフォルダを閉じるという結果が得られていなかったので、書き込みさせていただいています。
http://oshiete1.goo.ne.jp/qa4024982.html
ご協力お願いします。
No.2ベストアンサー
- 回答日時:
回答番号:No.1 お礼へのアドバイスです。
mk-sanさんもお気づきと思いますが、対象のフォルダを開いて閉じるのが最善の対策かどうかは疑問ですね。
5000ファイルを溜め込む処理(どういう間隔で? 1日で?)を見直すのがよいかもしれませんし、また、目視で5000ファイル全てを確認するのではないでしょうから、フォルダを開かずに目的のファイルだけを直接開けばよいかもしれません。
やはりフォルダを開かざるを得ないとしても、キャッシュを有効にするためにはフォルダを開いて閉じなくてもスクリプトでフォルダ内を空読みすればよさそうな気がします。
一般論として、OSへの要求(本件の場合フォルダを開いて閉じる)は避けられるものなら避けた方がシステム全体の性能のためには良いと思います。
SHIMAPEEさん。
貴重なご回答ありがとうございます。
やはり5000件ものファイルを溜め込むことからの見直しからスタート
しようかと思います。
ありがとうございました。
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
SHIMAPEEさん
ありがとうございます。
ご指摘いただいている”目的”ですが、
Win2kサーバーをファイルサーバーとして利用しているのですが、
1つのフォルダ内に5000ファイルほどをためてしまう構造になっています。(サーバの他のフォルダからスクリプト(?)のようなものを使って、自動的にそのフォルダにデータがたまるようになっています。)
そのためなのかは、よくわからないのですが、そのフォルダをサーバー上で開くと、数十秒近く時計マークがでてなかなかフォルダ内のデータを確認できません。一度そのフォルダを開くと、その後は瞬時に開くようになります。(キャッシュの問題では?と同僚から言われております。)
他の処理にも何となくですがレスポンスが悪くなっているような気がします
構造的な問題があるかもしれないのですが、このレスポンスの悪さを解消するために、データを移動させるスクリプトにデータ移動後、フォルダを開いて、閉じるという内容を加えたいと思っております。
この処理をする際には、指定のフォルダ以外は開いていないようにする予定です。
このようなご回答で今回の投稿内容の目的をご理解いただけるでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
コマンドプロンプト(バッチファイル)でフォルダを閉じるにはどうすればよいのでしょうか?
その他(プログラミング・Web制作)
-
フォルダを閉じる
Visual Basic(VBA)
-
A列に記載されているフォルダを閉じるには
Visual Basic(VBA)
-
-
4
開いているフォルダを全て閉じる、マクロを教えて下さい
Excel(エクセル)
-
5
バッチファイル フォルダを閉じる
その他(プログラミング・Web制作)
-
6
EXPLORERで開いているフォルダがどこかを知りたいです VB.NET
Visual Basic(VBA)
-
7
CloseとDisposeの違い
Visual Basic(VBA)
-
8
指定したフォルダーを最前面表示にする方法
Visual Basic(VBA)
-
9
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
10
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
VBA 最新のフォルダ取得
-
デスクトップの画像をhtmlに表...
-
API関数(DLL)の呼び出しにお...
-
バッチファイル フォルダを...
-
VBS サブフォルダの再帰処理に...
-
フォルダを開いて、閉じるのプ...
-
フォルダにリンクを貼りたい
-
Downloaded Program Filesはど...
-
ディレクトリ名変更してコピー...
-
ツリービューを使って、エクス...
-
Let’s Encryptでwebroot設定な...
-
C ファイル出力で、フォルダが...
-
excelマクロ 冒頭3文字が一致す...
-
【コマンドプロンプト】名前順...
-
クラウドにあるフォルダを共有...
-
exclude xcopy 除外フォルダ指...
-
Excelで指定したフォルダに保存...
-
MinGWで正規表現(regex.h)がし...
-
ファイル名と同名のフォルダを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
VBA 最新のフォルダ取得
-
デスクトップの画像をhtmlに表...
-
ファイル名と同名のフォルダを...
-
会社のネットワーク上のファイ...
-
ExcelのVBAでフォルダ指定がで...
-
Excelで指定したフォルダに保存...
-
VBA フォルダの複数選択ができない
-
【マクロ】ファイル名の日付に...
-
VB.NRT FolderBrowserDialogを...
-
【マクロ】フォルダにファイル...
-
ThisWorkbookがあるフォルダ更...
-
ディレクトリ名変更してコピー...
-
(C#)フォルダを指定するダイ...
-
VB6で7-ZIPのAPIを使用した圧縮...
-
VBプロジェクトでのフォルダ構...
-
パス名に2バイト文字(マルチバ...
-
Debug フォルダは消していいの?
-
フォルダにリンクを貼りたい
-
フォルダAから1つのファイルだ...
おすすめ情報