
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Core 2 Duo の古いパソコンに最...
-
linuxのインストール
-
ubuntu(linux)のシャットダウン...
-
インストールできないですどう...
-
VirtualBox 6.1 → 7.1 でUbuntu...
-
「/var/log」内のログの削除の...
-
Linux のシェルスクリプトの強...
-
ubuntu が起動しない。
-
LinuxでWine使うとどのくらいWi...
-
bashでシングルクォート内の変...
-
ssl_error_logのエラー内容(AH...
-
ubuntuのシャットダウンが進ま...
-
ubuntuで デイスク/deb/loopと...
-
Ububtuでファイル共有できない...
-
Ubuntu でinvalid filenameとな...
-
Rasberry pi のオンボードNICの...
-
linuxサーバーのキャッシュをク...
-
Linuxでブートディスクの交換後...
-
他のLinuxでも動くa.outの作り方
-
ssl_request_logの必要性について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
誰かにサーバにあるデータを消...
-
OpenLDAPでのユーザ一覧表示
-
scriptコマンドで出力したログ...
-
PHP
-
バッチで削除したフォルダをイ...
-
シャットダウンしたユーザを知...
-
patchコマンドってどのrpmに入...
-
expectの使い方について
-
lprコマンド(印刷)を実行する...
-
mac ターミナル
-
ubuntuに外部侵入できるか
-
centOS7サーバーに配置したHTML...
-
RedHat5で荐怨
-
リモートでバッチを実行(Windo...
-
DOS/Vを英語モードにする?
-
ウインドウズ10 休止状態
-
CSHが使えない REDHAT
-
exeファイルの実行結果をテキス...
-
.cshrcでのエラー
-
ソフトのインストール場所って...
おすすめ情報