syslogをzip化して削除するバッチ
2024年08月13日
概要
Fortigateから出力されるsyslogが毎日1Gを超えていて、ログを保存しているパソコンの容量をひっ迫させる。中身はテキストファイルなので、zip化して元ファイルを消せば良いんだけど、手作業でやるのはめんどい。
今回は、毎日出力されるsyslogファイルを別フォルダに圧縮して、元ファイルを削除するバッチを作った話。
PR
フォルダ内の最新フォルダを開くバッチファイル
2024年08月07日
概要
週次で日付のフォルダが作られてそこで資料の更新なんかをする場合、大元のフォルダへのショートカットは作れるけど、そこから先の日付フォルダにアクセスするのが面倒くさい。フォルダの中が整理されてれば良いんだけど、諸事情により整理もできない。
今回は、フォルダ内の最新サブフォルダ名を抽出して、そのフォルダを開くバッチファイルについて
バッチファイル作成
「bat フォルダ内の最新フォルダを開くバッチファイル」で調べてみたけど、ドンピシャな検索結果はない。ファイルを対象にしたものがあったので、それをベースに改良することに。
参考サイト
https://it-skill-memo.work/2021/09/02/【バッチファイル】指定フォルダ配下の指定ファ-2/
ソース考察
バッチファイルは日付計算が苦手。最近ではPowerShellで逃げる手もあるけど、コマンドのオプションをうまく使って最新1つだけを取り出してる。なかなかにスマート。
改良ポイント
変えたのは主にコマンドだけで、Dirコマンドを実行する際にディレクトリ指定の/Adを追加。これでディレクトリだけがDirコマンドの結果に出てくるので、元のソースのアルゴリズムで最新の1つだけを取り出して完了。
最後にショートカットをキー登録
いつものようにパスの通ったフォルダに短いファイル名のショートカットを置いて完成。
これでwindows + Rでファイル名を入れて呼び出せる。
関連記事⑦
http://aki.p-kin.net/windows/windowsのファイルアクセスを早める技
以下ソース。
OpenLatestDir.bat
@ECHO OFF
REM 対象フォルダ
SET targetFolder="\\10.20.xx.xx\mtミーテイング\"
REM 対象フォルダ配下の対象フォルダを取得するコマンド(更新日付で降順)を作成
SET getDirListCmd=DIR /b /O-d /Ad %targetFolder%
REM 更新日付が1番新しい1フォルダのみを処理する
FOR /F %%a IN ('%getDirListCmd%') DO (
start "" %targetFolder%%%a
goto break
)
:break
EXIT
ドラッグドロップで最終2行を表示するバッチファイル
2024年04月16日
ファイル一覧を出力したとき、ファイル数がいっぱいあるとテキストファイルが大きくなる。
通常は特に困るものでもないんだけど、dirコマンドでファイル一覧を取得する場合に途中でやめたか、最後まで解析したかは大事だったりする。
今回は、最後まで解析したかを判断するためのバッチファイルを作成してみた。
通常は特に困るものでもないんだけど、dirコマンドでファイル一覧を取得する場合に途中でやめたか、最後まで解析したかは大事だったりする。
今回は、最後まで解析したかを判断するためのバッチファイルを作成してみた。
空フォルダを消すクリーナバッチを再改良
2024年01月12日
昔かかった号令の影響で、NAS上に空フォルダがいっぱいの案件がある。
案件フォルダの雛形として、フォルダが用意されているものの、中身がなかったりする。
探し物をしてるとこれが実に腹立たしくて、一括で消してやりたくなった。
今回はバッチファイルでサブフォルダを含めて空のフォルダを削除するバッチについて
案件フォルダの雛形として、フォルダが用意されているものの、中身がなかったりする。
探し物をしてるとこれが実に腹立たしくて、一括で消してやりたくなった。
今回はバッチファイルでサブフォルダを含めて空のフォルダを削除するバッチについて
高速に3階層分のtreeコマンドと同じ結果を取るバッチファイル
2023年11月15日
このサイトで一番人気のコンテンツである、treeコマンドで階層指定する方法。
「Windowsのtreeコマンドで3階層目までだけを表示する方法」
確かに階層指定した結果は得られるけど、
指定フォルダ内の全検索をして、指定した階層分を表示する仕様なのでどうしても遅い。
今回はDirコマンドの結果を変数に格納して1階層下のフォルダ一覧まで取得しようという話。
これでTreeの2階層指定を軽快にできるはず!
「Windowsのtreeコマンドで3階層目までだけを表示する方法」
確かに階層指定した結果は得られるけど、
指定フォルダ内の全検索をして、指定した階層分を表示する仕様なのでどうしても遅い。
今回はDirコマンドの結果を変数に格納して1階層下のフォルダ一覧まで取得しようという話。
これでTreeの2階層指定を軽快にできるはず!