クリップボードの内容をファイルとしてデスクトップに出力くん
## 仕様
クリップボードに保存されている内容を、ファイルとしてデスクトップに出力するPowerShellスクリプト
ファイルの出力先パスは「デスクトップ」
もし、クリップボードに保存されているデータが...
テキストだった場合は、テキストファイルとしてデスクトップ出力する
画像データだった場合は、画像ファイルとしてデスクトップに出力する
ファイルだった場合は、そのファイルをデスクトップに出力する
## コード
code:save-as-file-clipboard.ps1
# クリップボードの内容を確認
$clipboardContent = Get-Clipboard -Format FileDropList
# デスクトップのパスを取得
$desktopPath = Environment::GetFolderPath("Desktop")
if ($clipboardContent -ne $null -and $clipboardContent.Count -gt 0) {
# クリップボードにファイルがある場合、ファイルをデスクトップにコピー
foreach ($file in $clipboardContent) {
$destinationPath = Join-Path -Path $desktopPath -ChildPath (Split-Path -Path $file -Leaf)
Copy-Item -Path $file -Destination $destinationPath
Write-Host "ファイルがデスクトップにコピーされました: $destinationPath"
}
} else {
# クリップボードに画像がある場合、画像として保存
$clipboardImage = Get-Clipboard -Format Image
if ($clipboardImage -ne $null) {
$imagePath = Join-Path -Path $desktopPath -ChildPath "clipboard_image.png"
$clipboardImage.Save($imagePath)
Write-Host "クリップボードの画像が以下のパスに保存されました: $imagePath"
} else {
# クリップボードにテキストがある場合、テキストとして保存
$clipboardText = Get-Clipboard
if ($clipboardText -ne $null) {
$textFilePath = Join-Path -Path $desktopPath -ChildPath "clipboard_content.txt"
$clipboardText | Out-File -FilePath $textFilePath -Encoding UTF8
Write-Host "クリップボードのテキストが以下のパスに保存されました: $textFilePath"
} else {
Write-Host "クリップボードにはテキスト、画像、またはファイルが含まれていません。"
}
}
}
使い方
save-as-file-clipboard.ps1を実行します
→(結果)デスクトップへ、クリップボードの内容がファイルとして出力されます
(これを手軽に実行するには)
→「 ファイル名を指定して実行」から実行できるようにするといいです
その手順
1. 次のコードをコピーして.batファイルとして保存します
code:cc.bat
REM (↓バッチファイル自身が置かれているディレクトリをカレントにする)
cd /d %~dp0
REM ps1スクリプトを実行する
powershell -Command .\save-as-file-clipboard.ps1
(👆これは.ps1を起動するたの.bat)
2. 上の.ps1と.batをPATHが通っているフォルダに、2つセットで同階層に置きます
3. → 【結果】「 ファイル名を指定して実行」を開いて cc と入力して実行 → 実行できる
--Fromちょっとしたツールを自作して自分で使う