Windowsのバッチファイルで、定期的に特定の場所にあるフォルダを
削除したいと考えており、以下のような処理を想定しております。
※OSはWindows Server 2008 R2です。
----------------------------------------
@echo off
rem 1,2,3で始まるフォルダを削除する
for /D %%a in ("C:\test\1*") do rmdir /Q /S "%%a"
for /D %%a in ("C:\test\2*") do rmdir /Q /S "%%a"
for /D %%a in ("C:\test\3*") do rmdir /Q /S "%%a"
----------------------------------------
上記のバッチでフォルダの削除自体はうまくいったのですが、
その際、削除したフォルダの情報をWindowsのイベントログに
Informationとして出力したいと考えております。
イベントログの出力結果は全件まとめてでも一件ずつでも良いのですが、
どのように記載すれば実現できるでしょうか?
No.3ベストアンサー
- 回答日時:
No2です。
>今回のようにfor文で対象を検出・削除している処理の中に、eventcreateコマンドを織り込んで結果を出力する方法がわからなかったのです。
>おそらく、deleteコマンドは標準出力がないため、一回ごとに戻り値を取るようなことをしないと実現できないのだろうと考えております。
それはもとの質問と全く関係のないことですよね。
なぜ知りたいことと全く違うことを質問に書いたのでしょうか?
それはさておき、rmdir が成功したときだけeventcreateしたいのであれば、
mdir /Q /S "%%a" && eventcreate ~~
です。
ご回答ありがとうございました。
おかげさまで、バッチで想定していた動作をさせることができました。
お手数お掛けし申し訳ありませんでした。
No.2
- 回答日時:
管理者権限で eventcreate コマンドを使えば出来ます。
詳しくはコマンドプロンプトで、eventcreate /?
eventcreate /t information /l application /id 1 /d "%%a を削除しました"
とか。
管理者権限でコマンドを実行する方法はわかりますかね?
おそらくタスクスケジューラーからこのバッチファイルを定期実行するんでしょうから、「最上位の特権で実行する」のチェックをオンにする。
ご回答ありがとうございました。説明不足で申し訳ございません。
eventcreateやタスクスケジューラへの組み込み方法については理解しておりましたが、
今回のようにfor文で対象を検出・削除している処理の中に、eventcreateコマンドを
織り込んで結果を出力する方法がわからなかったのです。
おそらく、deleteコマンドは標準出力がないため、一回ごとに戻り値を取るような
ことをしないと実現できないのだろうと考えております。
もし方法がわかるようでしたらご教授いただけますでしょうか?
No.1
- 回答日時:
eventlogを操作するコマンドレットが powershell に用意されています(添付画像)ので利用してはどうでしょうか。
New-EventLog
Write-EventLog
を使用すればいいと思います。
事例の記述もありますのでマイクロソフト Technet サイトを参照してください。
http://technet.microsoft.com/ja-jp/library/hh849 …
http://technet.microsoft.com/ja-jp/library/hh849 …
ご回答ありがとうございました。
ご紹介頂いたサイトを参考にしてPowershellでもできることを確認できました。
ただ、今回は対象に.Net Framework3.5を追加していない環境も存在しており、
Powershellの一部のClassが参照できなかったため、通常のバッチで実行することとしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 2つのマクロを連続して動かしたい 3 2022/09/20 23:46
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- その他(プログラミング・Web制作) フォルダを一括で作成する方法 0 2022/07/27 19:19
- サーバー windowsサーバの権限設定、フォルダ削除できないアカウントを作りたい 1 2023/04/07 09:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Excel(エクセル) マクロのコードを、少しでも削って短くしたい 3 2022/08/30 07:46
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Outlook(アウトルック) すべての新着メールが「受診フォルダ」に入らない。 2 2023/02/24 20:28
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
forfilesで検索したファイルをテキストに出力
その他(プログラミング・Web制作)
-
Windowsコマンドでファイル削除の処理結果確認方法
その他(コンピューター・テクノロジー)
-
DOSコマンド 「forfiles」について
Windows Vista・XP
-
-
4
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
5
バッチファイルでファイル移動とログ出力
システム
-
6
バッチファイルで特定のファイル・ディレクトリ以外を削除する方法について
その他(開発・運用・管理)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ubuntu(linux)のシャットダウン...
-
年末ですが大至急お願い申し上...
-
bashでシングルクォート内の変...
-
ubuntuで デイスク/deb/loopと...
-
shellscript内のコマンドを、su...
-
Kali Linuxで起動できない - Mi...
-
ログにserver reached MaxReque...
-
linuxサーバーのキャッシュをク...
-
Linux Ubuntu22.4の起動時エラ...
-
Kindleアプリについて
-
ssl_request_logの必要性について
-
AWSでSSH接続をしたいのですが...
-
Linux(fedora30)が立ち上がらく...
-
2TBのUSBメモリを2000円ほどで...
-
ssl_error_logのエラー内容(AH...
-
Ubuntuで数字だけのユーザーア...
-
ubuntuのシャットダウンが進ま...
-
tarで纏める際に、複数場外した...
-
Postfixでドコモメールに送信す...
-
メールアドレスにホスト名が入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
誰かにサーバにあるデータを消...
-
OpenLDAPでのユーザ一覧表示
-
scriptコマンドで出力したログ...
-
centOS7サーバーに配置したHTML...
-
バッチで削除したフォルダをイ...
-
ubuntuについて質問です。ター...
-
Ubuntuの端末におけるシステム...
-
WindowsNT 4.0Server スケジュ...
-
「エンドタグがスタートタグと...
-
出力のリダイレクトコマンド「>...
-
ユーザ版のsudoってありますか
-
CentOSへのSSHをGUIで操作でき...
-
expectの使い方について
-
UNIXのIMAPのバージョン確認方法
-
tcsh(v6-11)で文字化けする問題
-
Linux●前の行に戻れません...
-
cronでrmコマンドを実行すると...
-
リモートでバッチを実行(Windo...
-
iCabの全画面表示を終了させる...
-
mac ターミナル
おすすめ情報