西暦日付のフォルダを作成するコマンドを朝一に自動実行するPowerShellスクリプトに加えることで、"デスクトップ整理への道筋"も構築できた筆者だが、前回も述べたようにいぜんとしてデスクトップはファイルの山だ。
○デスクトップにちらかるファイルを一発で収納したい
既存のデスクトップファイルの整理と運用を考えて、一発でデスクトップにあるファイルを拡張子名のフォルダに移動させるスクリプトを考えて作ってみた(folderin.ps1)。
$desktop = [Environment]::GetFolderPath("Desktop")
# デスクトップ内のファイルを取得(フォルダは除外)
Get-ChildItem -Path $desktop -File | ForEach-Object {
# 拡張子名をドット除去で取得
$filename = $_.Extension.TrimStart('.')
# フォルダパス作成
$folder = Join-Path $desktop $filename
# フォルダがなければ作成
if (!(Test-Path $folder)) {
New-Item -ItemType Directory $folder
}
# ファイル移動
Move-Item $_ -Destination $folder
}
#エラー確認用に閉じない処理
Read-Host "Press Enter to close"
ForEach-Objectのループで$_に入るオブジェクトから$_.Extension.TrimStart('.')で拡張子名だけを取り出し、パスの存在を確認するTest-Path $folderで、フォルダが無い場合に拡張子名でフォルダを作成。Move-Itemで作成フォルダに随時移動させる。実行すると、拡張子名フォルダが生成され、ファイルはすべてそこに入る。
Windowsが表示している仮想オブジェクトや権限の関係でユーザーからは消しにくいショートカットファイルの一部は残るがおおよその目的は達したといえるだろう。
特定ファイルだけを除外する
気持ちいいものだ。リアルな都内のごみ分別もこんな感じで自動化できたなら嬉しいのにと脳裏に浮かんだその時。
デスクトップに常時設置したtestMorning.ps1もps1フォルダに格納されてしまっている。
ことに気が付いた。こういうことは本当によく起こるので調子に乗っていると、作っていた何かが動作しないとなる。そういう意味でもフォルダやファイル設置場所は、できるだけ規則的に行っておいた方がいい。本来ならばデスクトップに置くべきではないが、ここでは特定ファイルtestMorning.ps1を除外することを考えた。
.











![[USBで録画や再生可能]Tinguポータブルテレビ テレビ小型 14.1インチ 高齢者向け 病院使用可能 大画面 大音量 簡単操作 車中泊 車載用バッグ付き 良い画質 HDMI端子搭載 録画機能 YouTube視聴可能 モバイルバッテリーに対応 AC電源・車載電源に対応 スタンド/吊り下げ/車載の3種類設置 リモコン付き 遠距離操作可能 タイムシフト機能付き 底部ボタン 軽量 (14.1インチ)](https://m.media-amazon.com/images/I/51-Yonm5vZL._SL500_.jpg)