3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

仕事で使えそうなバッチ(powershell)ファイル

Last updated at Posted at 2024-10-29

初めに

日々の業務でテキストファイルにメモを取っていると思います。
そこで毎日追記して使っている人もいると思いますが、毎日作成している人もいると思います。

私は毎日わざわざ作成をしたい派です。
追記だと行が長くなり見にくいと思いますし、当日やったメモをそのまま残しやすいからです。

しかし、わざわざ
メモ帳開く > 決まった文言を書く(本日(近日)の予定) > 日付を入れて保存する
とやるのも面倒です。

また、たまったメモファイルを整頓したいというのもあります。
(そのまま残すと容量がどんどん圧迫されて…)

そこで以下のようなバッチ・パワーシェルファイルを作ってみました。

作成したもの

メモ作成用(毎日実行)

memo_maker.bat
@echo off
powershell -ExecutionPolicy Bypass -File "ps1\memo_maker.ps1"
pause
ps1\memo_maker.ps1
# 現在の日付を取得
$currentDate = Get-Date -Format "yyyyMMdd"

# ファイル名を設定 (YYYYMMDD形式)
$fileName = "${currentDate}_memo.txt"

# ファイルを作成
@"
$currentDate memo.
----------
本日の予定を記載
"@ | Out-File -FilePath $fileName -Encoding UTF8

# 完了メッセージ
Write-Host "ファイル '$fileName' が作成されました。"

ファイルのzip化(月一程度実行)

txt_zip.bat
@echo off
powershell -ExecutionPolicy Bypass -File "ps1\txt_zip.ps1"
pause
ps1\txt_zip.ps1
# 現在の日付を取得
$currentDate = Get-Date -Format "yyyyMMdd"

# ZIP ファイル名を設定
$zipFileName = "TextFiles_$currentDate.zip"


# PowerShellでZIPファイルを作成
Compress-Archive -Path "*.txt" -DestinationPath "$zipFileName"

# カレントディレクトリ内の全ての.txtファイルを取得
$txtFiles = Get-ChildItem -Path . -Filter *.txt

# 各.txtファイルを削除
foreach ($file in $txtFiles) {
    Remove-Item -Path $file.FullName -Force
}

# 完了メッセージ
Write-Host "ZIPファイル '$zipFileName' が作成されました。"

ファイル構成は以下の通りです。

> tree /F
C:.
│  memo_maker.bat
│  txt_zip.bat
│
└─ps1
        memo_maker.ps1
        txt_zip.ps1

実行してみた

ダブルクリックで実行してみると以下のようになります。
※実行はbatファイルのダブルクリックでできます

メモ作成用実施

> tree /F
C:.
|  20241029_memo.txt
│  memo_maker.bat
│  txt_zip.bat
│
└─ps1
        memo_maker.ps1
        txt_zip.ps1
20241029_memo.txt(実施した後にできたファイル)
20241029 memo.
----------
本日の予定を記載

zip化実施(上記の状態で実行)

> tree /F
C:.
│  memo_maker.bat
|  TextFiles_20241029.zip
│  txt_zip.bat
│
└─ps1
        memo_maker.ps1
        txt_zip.ps1

最後に

普段実施していることでちょっと煩わしいな、と思った単純作業もコーディングすることで短縮できるかもしれません。
実は上記のコードもChatGPTを併用して作成をしました。
案があればAIを使って作成でき、業務がはかどるかも?

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?