...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

テキストファイル名と同名のフォルダを作ってテキストファイルをmail.txtにリネームしてそのフォルダに入れる

ThunderbirdのメールをImportExportToolsでテキスト化したときに,メールの件名のフォルダを作ってから,その中に本文のテキストファイルを入れて欲しい。設定ではできないみたいなので,仕方がないからせめてフォルダに入れるところは自動化する。
まず,スクリプトのintofolder.ps1ってファイルを作る。
2020/05/01追記:最後に改善版を追加しました。
2020/10/03追記:最後に複数ファイル版を追加しました。

New-Item $args[0].ToString().Split(".")[0] -ItemType Directory
Rename-Item $args[0] -NewName "mail.txt"
Move-Item "mail.txt" $args[0].ToString().Split(".")[0]

それのショートカットを作って,プロパティーの「リンク先」をこうする。
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy RemoteSigned -File intofolder.ps1
また,プロパティの「作業フォルダー」は全文削除する。

f:id:haru-s:20200815190025p:plain

「【至急】先日のメール至急回答願います.txt」みたいなテキストファイルをショートカットにドラッグ&ドロップすれば使える。
PowerShellだと件名に空白が入っていてもちゃんと動くみたいだ。バッチファイルじゃうまく動かなかった。
これでやっと小指の負担が減る。

bgt-48.blogspot.com


2020/05/01追記:
メールの件名をファイルパスに使おうとするので,件名にワイルドカード文字に当たる文字があったらうまく動かなかった。
こうしたら解決した。

New-Item $args[0].ToString().Split(".")[0] -ItemType Directory
Rename-Item -LiteralPath $args[0] -NewName "mail.txt"
Move-Item -LiteralPath "mail.txt" $args[0].ToString().Split(".")[0]


2020/10/03追記:
まとめて操作する場面が多かったので,複数ファイルのDnDができるようにした。

foreach($arg in $args)
{
    New-Item $arg.ToString().Split(".")[0] -ItemType Directory
    Rename-Item -LiteralPath $arg -NewName "mail.txt"
    Move-Item -LiteralPath "mail.txt" $arg.ToString().Split(".")[0]
}

メモリ追加

OS: Windows10 Professional
CPU: Core i7 920 BOX (2.67GHz)
メモリ: トランセンド DDR3-1333 2GB 3枚組
    CORSAIR DDR3-1333 4GB 3枚組
グラフィックボード: GeForce 9600 GT 512MB
電源: SUPER FLOWER SF-600R14HE
HDD: SATA 6Gb/s 2TB WDC WD20EFRX
HDD: SATA 6Gb/s 3TB WDC WD30EZRX(2TBまで認識。旧OSをしばらく接続)
HDD: SATA/300 500GB ST3500320AS
マザーボード: Gigabyte EX58-UD4
ディスプレイ: BenQ G2400WD (1920x1200 32bit 60Hz)
ディスプレイ: MITSUBISHI RDT1710V (1280x1024 32bit 60Hz)

大分快適になった。

 

ディスク使用率100%対策(Dropboxの優先度を「低」にする)

Windows10を使っていてディスク使用率100%になっている原因がついに分かったかもしれない。

f:id:haru-s:20190101032421p:plain

ディスクキューの長さ

リソースモニタを見たらディスクキューの長さが30~50にも達していた。どうも一桁を超えるようだとおかしいらしい。

なお,上のスクリーンショットは解決後のもの。

f:id:haru-s:20190101032028p:plain

タスクマネージャー

Dropboxが怪しかったので,試しに優先度の設定を3つのプロセスとも「低」にしてみた。

 

f:id:haru-s:20190101032227p:plain

タスクマネージャー詳細

そうすると,すぐにディスクキューの長さは一桁になって落ち着いた。

ディスク使用率が100%に張り付くこともなくなった。

しばらくこれで様子見しよう。

容量が大きい順にフォルダを列挙

PowerShell で which、PowerShell で du …

職場のファイルサーバが一杯になって大規模に整理,削除しなくちゃいけないので,
まずは容量分布を調べたかった。

largefolderlist.csv ファイルが新しく作成されて,そこに書き出されます。

Write-Host $Args[0]

function dusage{
  param([String]$tgtDir = (pwd).Path)

  filter dusage_filter{
    $sum = (dir -literalpath $_.FullName -recurse -force -erroraction silentlycontinue |
      measure-object Length -sum).Sum
    $result = New-Object Object |
      Add-Member NoteProperty Folder $_.FullName -PassThru |
      Add-Member NoteProperty Size $sum -PassThru
    return $result
  }

  dir $tgtDir -force -erroraction silentlycontinue |
    ? {$_.PSIsContainer} | dusage_filter
}

dusage -tgtDir $Args[0] | sort -des size | Export-Csv -Path largefolderlist.csv -Encoding Default -NoTypeInformation

出力サンプル

Folder	Size
C:\Users\haru\Documents\KIT\Laboratory	999720770
C:\Users\haru\Documents\KIT\レポート色々	146172754
C:\Users\haru\Documents\KIT\inshi	1140498

pdftkが便利

まずは,pdftkをインストールして,
rotate_pdf_right.bat

cd /d %~dp0
pdftk %1 cat 1-endright output "%~n1"_new"%~x1"

を作って,pdfファイルをドラッグ・アンド・ドロップすると,全ページが右90度回転された新しいpdfファイルができる。