まえがき
どもこんにちは、そこらへんにいるぺーぺーエンジニアです。
仕事の効率化でよく使うので、備忘として残そうかなという経緯です。
スクリプト(ps1)の作成 (๑╹ω╹๑ )
powershell
# [Cドライブ]に[work\logs]フォルダを作成する。
mkdir C:\work\logs
# {コマンド[hostname]の出力結果を[C:\work\logs]フォルダ内の[testlog.txt]ファイルに保存する。}という処理内容を[test.txt]ファイルとして新規作成、保存する。
echo "hostname >> C:\work\logs\testlog.txt" >> C:\work\test.txt
# [test.txt]を[test.ps1]に名前変更(正確にはファイル拡張子を変更)する。
mv C:\work\test.txt C:\work\test.ps1
バッチ(bat)の作成 (๑╹ω╹๑ )
powershell
# {[C:\work\test.ps1]をpowershellで実行する。]という処理内容を[testbat.txt]ファイルとして新規作成する。
echo "@echo off" ` "REM [C:\work\test.ps1]をpowershellで実行する。" ` "powershell C:\work\test.ps1" >> C:\work\testbat.txt
# [testbat.txt]ファイルをバッチ(bat)ファイルに拡張子を変更する。
mv C:\work\testbat.txt C:\work\testbat.bat
バッチ(bat)のショートカットファイルの作成 (๑╹ω╹๑ )
powershell
# 以下の4行をそのまま[powershell]上にコピー&ペーストし、実行する。
$WshShell = New-Object -ComObject WScript.Shell
$ShortCut = $WshShell.CreateShortcut("C:\work\testbat.bat.lnk")
$ShortCut.TargetPath = "C:\work\testbat.bat"
$ShortCut.Save()
## 上記の一部を解説するよ (๑╹ω╹๑ )
### [CreateShortcut]で指定しているパスは、作成するショートカットファイルを指している。
### [TargetPath]で指定しているパスは、ショートカットファイルを作成する元ファイルを指している。
# [C:\work\testbat.bat.lnk]が作成されていることを確認する。
ls C:\work
バッチ(bat)のショートカットファイルの設定 (๑╹ω╹๑ )
デスクトップGUI操作
1. [C:\work]フォルダにあるショートカットファイル[testbat.bat]のプロパティを開く。
2. [ショートカット]タブ内の[詳細設定]をクリックする。
3. [管理者として実行]にチェックを入れる。
4. [OK]をクリックする。
5. [適用]及び[OK]をクリックする。
補足:Windows PowerShell で上記の設定ができないかどうか調査中。
何か見つかり次第、追加の方法として追記する。
バッチ(bat)のショートカットファイルの実行!! (๑╹ω╹๑ )
powershell
# バッチ(bat)のショートカットファイルの実行!! (๑╹ω╹๑ )
C:\work\testbat.bat.lnk
# [このアプリがデバイスに変更を加えることを許可しますか?]のGUI画面が表示されるので[はい]をクリックする!(๑╹ω╹๑ )
# [C:\work\logs]フォルダに[testlog.txt]ファイルが作成されていることを確認する。
ls C:\work\logs
# [testlog.txt]ファイルを開き、[hostname]の出力結果があることを確認する。
C:\work\logs\testlog.txt
あとがき
おつかれさまでしたなのだ! (๑╹ω╹๑ )
気づいたら深夜2時だと…!?(´Д⊂ヽ
手探りしながら手順を書いていたので、こちらお試しになられて手順通りにうまくいった方いましたら、コメントお願い致します。