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も見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
forfilesで検索したファイルをテキストに出力
その他(プログラミング・Web制作)
-
Windowsコマンドでファイル削除の処理結果確認方法
その他(コンピューター・テクノロジー)
-
DOSコマンド 「forfiles」について
Windows Vista・XP
-
-
4
バッチファイルで特定のファイル・ディレクトリ以外を削除する方法について
その他(開発・運用・管理)
-
5
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
6
バッチファイルでファイル移動とログ出力
システム
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
expectの使い方について
-
パソコンでCDでデータを読まな...
-
centosのglibcのアップグレード
-
Macの手書き漢字入力ツールにつ...
-
PowerShellで自分が書いたコマ...
-
aptでインストールしたプログラ...
-
ソフトのインストール場所って...
-
ユーザー名を変更したい
-
Adobe のアプリを中古売買する...
-
Linuxで/usr/local/sbin/と/etc/cr
-
DivX for Macをアンインストール
-
リナックスを使えるパソコン
-
ワードの設定を元に戻したい
-
WindowsへCentOSのDVDドライブ...
-
バッチファイルで多重起動を防ぐ
-
Win7でコンピュータ名変更を自動で
-
グーグルアースが使えません。
-
自動測定とGPIBインターフェー...
-
visual studioを使っています。...
-
pkg-config のPKG_CONFIG_PATH...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
誰かにサーバにあるデータを消...
-
scriptコマンドで出力したログ...
-
OpenLDAPでのユーザ一覧表示
-
出力のリダイレクトコマンド「>...
-
シャットダウンしたユーザを知...
-
バッチで削除したフォルダをイ...
-
ログに特定の文字が含まれてい...
-
telnet後のログのとり方
-
centOS7サーバーに配置したHTML...
-
mac ターミナル
-
CONFIG.SYSの内容確認方法
-
ウインドウズ10 休止状態
-
Linux●前の行に戻れません...
-
ubuntuに外部侵入できるか
-
cronでrmコマンドを実行すると...
-
WORD2000 元に戻すコマンドに...
-
ある特定のフォルダの中に、2つ...
-
iCabの全画面表示を終了させる...
-
centos7 apacheが起動しない
-
Ubuntuの端末におけるシステム...
おすすめ情報