[PowerShell] 拡張子を見て整理してくれるロボット
PowerShellで簡単なプログラムを書いてみました。
簡単なと言っても自分にとってはわりと難しくて 4時間くらいかかっちゃいましたが…
Windows7にある「ダウンロード」フォルダ内に散らばってる
色んなお宝を拡張子で分けて拡張子フォルダを作って
そこに片付けてくれます。
ていうかさ、このコードを色分けしてくれる機能すごいね。
ここを参考にさせていただきました。 PowerShell自体は、
PowerShell基礎文法最速マスター と、TechNetのコマンドレット一覧と、
あとVBScript使ったことある人ならここもすごく役に立ちます。
ひとまずブログに書けた。 ホントはGitの練習してGithubにアップしたい。
ツイート
簡単なと言っても自分にとってはわりと難しくて 4時間くらいかかっちゃいましたが…
Windows7にある「ダウンロード」フォルダ内に散らばってる
色んなお宝を拡張子で分けて拡張子フォルダを作って
そこに片付けてくれます。
#-----------------------------------------------------------
#ガシャーン。拡張子判断ロボだよ。
#拡張子の名前でフォルダを作って放り込むすごいやつだよ
#-----------------------------------------------------------
#-----------------------------------------------------------
#フォルダ作成関数
#-----------------------------------------------------------
Function Create-Folder( $folderName )
{
if(Test-Path $folderName)
{
}
else
{
$currentDirectory = Get-Location
$createLocation = "$currentDirectory\$folderName"
New-Item -type directory $createLocation
}
}
#-----------------------------------------------------------
#Main的な
#-----------------------------------------------------------
#PowerShellの実行権限を一時的にRestrictedまで拡大し実行可能にする
$myPolicy = Get-ExecutionPolicy
if( $myPolicy -ne "Unrestricted" )
{
set-executionpolicy Unrestricted
}
#実行しているユーザ名を取得し、それを利用して「ダウンロード」フォルダへ移動する。
$targetDirectory = "C:\Users\" + $env:username + "\Downloads\"
cd $targetDirectory
#「ダウンロード」フォルダ内のすべてのファイルを配列として変数に格納
$downloadItems = Get-ChildItem
Foreach( $aItem in $downloadItems )
{
#フォルダ/ファイル判定
if ( $aItem.PSIsContainer )
{
Write-Host "フォルダ: " -NoNewLine
write-host "$aItem - フォルダなので無視します。"
}
else
{
Write-Host "ファイル: " -NoNewLine
write-host $aItem.PSChildName
#ファイルなら拡張子の文字数を確認
[string]$itemName = $aItem.PSChildName
$intNuberOfKakutyousi = $itemName.length - $itemName.LastIndexOfany(".") - 1
$kakutyousi = $itemName.substring( $itemName.length - $intNuberOfKakutyousi )
Create-Folder($kakutyousi)
Move-Item $aItem $kakutyousi
}
}
#ExecutionPolicyをもとに戻す
if( $myPolicy -ne "Unrestricted" )
{
Set-ExecutionPolicy $myPolicy
}
ていうかさ、このコードを色分けしてくれる機能すごいね。
ここを参考にさせていただきました。 PowerShell自体は、
PowerShell基礎文法最速マスター と、TechNetのコマンドレット一覧と、
あとVBScript使ったことある人ならここもすごく役に立ちます。
ひとまずブログに書けた。 ホントはGitの練習してGithubにアップしたい。
ツイート
コメント
コメントを投稿