●GUIパワーシェル(PSH)の短文集でツール帳の作成
この[PSH基本窓アプリ]は色々なPSH短文ツールを逐次登録することでパソコンの利便性をアップすることができ、快適性をパワーアップできます。例として次の9件を登録しています。今回は1つの[PSH処理アプリ]ファイルに登録していますが、Web関連、ファイル関連、PC制御関連と、複数の[PSH処理アプリ]ファイルに分割し逐次登録していくと便利です。
(1.1)[Web表示] よく使うWebカレンダ一覧:Urlアドレスを登録して使うと便利です。
<補足> 使いだすと便利です。これだけでもPC利用が快適になったと感じます。
(1.2)[郵便番号]入力⇒住所変換(Net利用):Web利用のPSH処理サンプルです。
<補足> 年に数回利用します。上記TXTファイルに入れています。
(1.3)住所から[郵便番号]の検索 (Net利用)
(2.1)指定フォルダ(zDir)のList表示...フォルダ処理をまとめると便利です。
(2.2)指定フォルダ(zDir)のTree表示
(2.3)指定フォルダ(zDir)の容量をLIST表示[*グラフ付き]結構使い便利です。
<補足> PCを利用してるとフォルダの容量が大量になることがあります。時々の確認に利用します。
(3.1)大きいカレンダ窓の表示...シルバー層には便利です。
(3.2)Wol(WakeUP ON LAN)の制御(複数台PC起動)上級者向けのPSH処理例です。
<補足> ほぼ毎日利用します。記載のアドレスはダミーアドレスです。Wol対応PCでBIOS設定すれば利用可能です。
(3.3)PSH処理の高速化(管理権限で ngen.exeの起動)管理者権限処理の例です。
<補足> おそらく2週間に1回は利用します。パワーシェル利用ユーザには必須アイテムと思います。Windowsが自動バジョンアップされるとPSH起動が大変遅くなるためその改善対応です。
●補足説明
(1)Web表示のPSH文の簡略化より27行目を追加しています。(この[PSH処理アプリ]だけでも結構PCの利便性アップします)
[追加] if( $zcc.startsWith("!") -and $zcc.contains("http") ){ $zcc="Start "+....
(2)2..1~2.3のフォルダ処理はキー入力編集で $zDir=XXXX に設定し利用ください。($HOMEは、PSHでLoginユーザのDisktopフォルダです。)
(3)ネットワークで複数台PCを利用するとき、Wol処理(WakeUP ON LAN)は便利です(上級者向け)。(Net構築、PC-BIOSでWol許可設定が必要です。)
(4)PSHの課題である起動速度が遅い部分を改善するツールです(中級/上級者向け)。(Windowsバージョンupされる都度処理が必要です。)
@echo off &if not "%~0"=="%~dp0.\%~nx0" (start /min cmd /c,"%~dp0.\%~nx0" %* &exit) &rem ★DOS窓mini化
powershell -ExecutionPolicy RemoteSigned "$fln=(echo %0); $aa=(Cat $fln -Raw); $fdt=$aa.substring($aa.indexof('##'+'STT:')); Iex($fdt+'##>');"
exit; pause&exit;
##
##Ver1.000 2024/0824 by ryu #####################################
##
##STT: ★PSH短文アプリ例処理を起動する(PS複数文を実行)
##
using namespace System.Windows.Forms; Add-Type -AssemblyName System.Windows.Forms,System.Drawing; ##★GUI
function dbg($cc){ [MessageBox]::Show($cc) }; function dbc($zcc){ Write-Host $zcc; }; ##★DBG
function ssView($bb){ $tBox.Text=$bb.substring( $bb.indexof("`n<"+"##" )); $tBox.SelectionStart=0; $mMain.Text="[1.000]"+$fln; }; ##★表示
##★メイン窓/編集窓の生成 ##★窓寸法(WW,HH) ##★文字種類/寸法 ##★背景色
$mMain =New-Object Form -Pro @{ Size="1080,720"; }; $tBox =New-Object TextBox -Pro @{ Font="BIZ UDゴシック,13"; BackColor="#C0E0C0";
Dock="Fill"; Multiline=$True; AcceptsReturn=$True; ScrollBars=[ScrollBars]::Vertical; }; $mMain.Controls.Add($tBox);
##★右釦メニュ ##★編集 ##★再表示 ##★クリップ処理 ##★機能追加
$tBox.ContextMenuStrip =$conMenu =New-object ContextMenuStrip -Pro @{ Font="BIZ UDゴシック,12"; };
function ssSetRbtMenu( $zcha ){ $aa=$conMenu.Items.Add( ($zcc =New-Object ToolStripMenuItem) ); $zcc.Text=$zcha; return $zcc; };
(ssSetRbtMenu "編集" ).add_Click({ notepad.exe $fln }); (ssSetRbtMenu "再表示").add_Click({ ssView( Cat $fln -Raw ) });
(ssSetRbtMenu "クリップへ取得").add_Click({ $tBox.Copy() }); (ssSetRbtMenu "クリップを貼付").add_Click({ $tBox.Paste() });
##★マウス[WC]操作 ##★DOS処理 ##★explorer処理 ⇒ ★psh追加⇒★画面設定⇒MainDLG表示 ##★Tool窓起動
$tBox.Add_DoubleClick({ $ln=((($tBox.Text).substring(0,$tBox.SelectionStart)).split("`n")).count-1; $zcc=($tBox.Lines[$ln]-split"##")[0];
if( $zcc.startsWith("> ") ){ $zcc=$zcc.substring(1); if($zcc.contains(" cd ") ){ Iex($zcc) }; Start Cmd -Arg "/k $zcc"; return; };
if( $zcc.startsWith(">> ")){ $zcc=$zcc.substring(2); Start -NoN Cmd -Arg "/c $zcc"; return; };
if( $zcc.startsWith("&") ){ for( $ii=1; $ii -lt 200; $ii++ ){ $cc=$tBox.Lines[$ln+$ii]; if($cc -eq $null){ break; };
if( $cc.startsWith(";") ){ $zcc+="`n"+($cc.substring(1)).trim(); }else{ if( $cc.startsWith("#") ){ continue;}; break; }; }; }; ##dbc $zcc;
if( $zcc.startsWith("&&& ")){ $zcc=$zcc.substring(3); $tBox.SelectionStart+=4; Iex($zcc); return;};
if( $zcc.startsWith("!") -and $zcc.contains("http") ){ $zcc="Start "+($zcc.split(";"))[1]; Iex($zcc); return; };
$zcc=$zcc.replace('"','\"'); if( $zcc.startsWith("& ") ){ $zcc=$zcc.substring(1); Start powershell -Arg "-noe $zcc"; return; };
if( $zcc.startsWith("&& ") ){ $zcc=$zcc.substring(2); Start -NoN powershell -Arg "$zcc"; return; };
}); $fladd=$fln.replace(".bat","_add.ps1"); if( Test-Path $fladd ){ . $fladd; }; ssView($fdt); $mMain.ShowDialog();
<##Ver1.000--[PSH短文アプリ例処理アプリ]------------------------------------------------
## [WC]各行をダブルクリック起動(右釦:編集/クリップ処理)
## [&]①窓有り起動 [&&]②窓無し起動 [&&&]③継続起動(窓無し) [;]④行連結起動
##★(1.1)Web表示:よく使うWebカレンダ一覧( [!CMT; url] -> [&& Start url ##CMT] と同じ)
##
![WC]日めくりカレンダ; "https://www.himekuricalendar.com/"
![WC]今年のりカレンダ; "https://www.benri.com/calendar/"
![WC]六曜・月齢・旧暦カレンダ; "https://www.ajnet.ne.jp/diary_f/?"
![WC]カレンダ(2050年まで); "https://www.benri.com/calendar/list.html"
&& Start "https://www.himekuricalendar.com/" ##★[WC]日めくりカレンダ;
##★(1.2) [郵便番号]入力⇒住所変換(Net利用)
##
& while($true){ $zNO=Read-Host "[郵便番号(NNNnnnn)]="; ##★[WC]
; if( $zNO -eq "" ){ break; };
; $zres=Invoke-WebRequest "https://api.zipaddress.net/?zipcode=$zNO";
; $zobj=ConvertFrom-Json $zres.Content;
; Write-Host('住所:' + $zobj.data.fullAddress) -ForegroundColor Cyan;
; };
##★(1.3) 住所から[郵便番号]の検索 (Net利用)
##
&& Start "https://www.zip-code.jp/adr.php" ##★[WC]
##★(2.1) 指定フォルダ(zDir)のList表示
##
& $zDir="$HOME\Desktop"; ##★[WC] フォルダ指定のこと、現在フォルダは $zDir=(pwd); でOK
; "[Dir] $zDir"; $zcc=(dir $zDir -name -re); $zcc;
##★(2.2) 指定フォルダ(zDir)のTree表示
##
& $zDir="$HOME"; ##★[WC] フォルダ指定のこと
; "[Dir] $zDir"; $zcc=(tree $zDir /f ); $zcc;
##★(2.3) 指定フォルダ(zDir)の容量をLIST表示[*グラフ付き]
##
& $zDir="$HOME\Desktop"; ##★[WC] フォルダ指定のこと
; "[Dir] $zDir";
; $zlist =dir $zDir -Directory |%{ [PsCustomObject]@{ "Name"=$_.Name;
; "Size"=(dir $_.FullName -File -Recurse |measure -Sum -Property Length).Sum }; };
; $zmes =$zlist |measure -Max -Min -Property Size;
; $zlist |%{ [PSCustomObject]@{ "Name"=$_.Name; "Size"=( ([int]$_.Size).ToString("#,#") ).PadLeft(16);
; "Graph"=("*" * [int]($_.Size/($zmes.Maximum)*10)); }; };
##★(3.1) 大きいカレンダ窓の表示
##
&&& $formMonthCalendar =New-Object Form -Pro @{ Location = "100,50"; Size ="380,500"; ##★[WC]
; text ="Dlg_DayTimeBox"; StartPosition ="manual"; MaximizeBox =$False; MinimizeBox =$false;
; }; $formMonthCalendar.Add_Closing({ $_.Cancel =$True; $formMonthCalendar.Visible =$false; });
; ##
; $formCalDayTime =New-Object MonthCalendar -Pro @{
; Location = "5,5"; Size = "350,100"; ##StartPosition = "manual";
; Font ="'Meiryo UI', 28"; Visible = $true; ##$false;
; ## ForeColor = "192, 0, 192";
; TrailingForeColor = "192, 192, 0";
;
; }; $formMonthCalendar.Controls.Add($formCalDayTime); $formCalDayTime.Show();
; $formMonthCalendar.Showdialog();
##★(3.2) WakeUP ON LAN(WoL)の送信(6台のPCスリープからWakeUP)
##
&&& $zPcMac = " ##★[WC]
; 94-C6-91-79-EF-F6 ##PC11
; 94-C6-91-79-EF-F7 ##PC12
; 94-C6-91-03-6A-B1 ##PC21
; 94-C6-91-03-6A-B2 ##PC22
; C8-E2-65-15-C3-C4 ##PC31
; 24-B7-2A-B2-89-AC ##PC32
; ";
; ##
; $zcc="`n[PC-BIOS Power Management SetUp(WakeUP on LAN)]`n ex) PME:Enb EPU:Dis`n`n";
; foreach( $cc0 in $zPcMac.split("`n") ){ $cc0=$cc0.trim(); if($cc0.length -lt 15){ continue; };
; $cc =(($cc0.split("##"))[0]).trim();
; $zadr =[byte[]]( $cc-split("[:-]") |%{ [Convert]::ToInt32( $_, 16 ); } );
; $zcc1 =([byte[]](@(0xff)*6))+$zadr*16; $ztgt =[System.Net.IPAddress]::Broadcast;
; $zclt =New-Object System.Net.Sockets.UdpClient; $zclt.Connect($ztgt, 2304);
; $zclt.Send($zcc1, $zcc1.Length) |Out-Null; $zclt.Close();
; $zcc +="Send magic packet to: $cc0`r`n";
; }; dbg (">>LAN Power Wake UP<<`n"+$zcc);
##★(3.3) PSH処理の高速化(管理権限で ngen.exeの起動)
##
&&& $zcc='-noe cd c:\ ##★[WC]
; Set-Alias ngen @(dir (join-path ${env:\windir} \"Microsoft.NET\Framework\") ngen.exe -recurse |sort -descending lastwritetime)[0].fullName
; Set-Alias ngen64 @(dir (join-path ${env:\windir} \"Microsoft.NET\Framework64\") ngen.exe -recurse |sort -descending lastwritetime)[0].fullName
; [appdomain]::currentdomain.getassemblies() | %{ if($_.location -match $(\"\\assembly\\GAC_64\") ){
; ngen64 install $_.location }else{ ngen install $_.location }; } ';
; Start -Verb runas -FilePath powershell.exe -Arg "$zcc";
@echo off &rem if not "%~0"=="%~dp0.\%~nx0" (start /min cmd /c,"%~dp0.\%~nx0" %* &exit) &rem ★DOS窓mini化
powershell -ExecutionPolicy RemoteSigned "$fln=(echo %0); $aa=(Cat $fln -Raw); $fdt=$aa.substring($aa.indexof('##'+'STT:')); Iex($fdt+'##>');"
pause&exit; pause&exit;
##
##Ver1.010 wndPshShort151.ps1 by ryu 2025/0120 #####################################
##
##STT: ★PSH短文アプリ例処理を起動する(PS複数文を実行)
##
using namespace System.Windows.Forms; Add-Type -AssemblyName System.Windows.Forms,System.Drawing; ##★GUI
function dbg($cc){ [MessageBox]::Show($cc) }; function dbc($zcc){ Write-Host $zcc; }; ##★DBG
function ssView($bb){ $tBox.Text=$bb.substring( $bb.indexof("`n<"+"##V" )); $tBox.SelectionStart=0; $mMain.Text="[1.010]"+$fln; }; ##★表示
function MsgYesNo($cc0,$cc1,$cc2){ $cc2="YesNo"; return [MessageBox]::Show($cc1,$cc0,$cc2); };##★YesNo
##★メイン窓/編集窓の生成 ##★窓寸法(WW,HH) ##★文字種類/寸法 ##★背景色
$mMain =New-Object Form -Pro @{ Size="1080,720"; }; $szFont="BIZ UDゴシック"; $tBox =New-Object TextBox -Pro @{ Font="$szFont,13"; BackColor="#E5FFF1";
Dock="Fill"; Multiline=$True; AcceptsReturn=$True; ScrollBars=[ScrollBars]::Vertical; }; $mMain.Controls.Add($tBox);
$mMain.MainMenuStrip =$dListMenu =New-Object MenuStrip -Pro @{ Font="BIZ UDゴシック,12"; }; $mMain.Controls.Add($dListMenu);
function ssDMnMenu($zcc){ $zmm=New-Object ToolStripMenuItem; $zmm.Text=$zcc; $dListMenu.Items.AddRange($zmm); $global:szMnBas=$zmm; return $zmm;}
function ssDMnMSet($zcc){ $zmm=New-Object ToolStripMenuItem; $zmm.Text=$zcc; $szMnBas.DropDownItems.AddRange($zmm); $global:szMnBas2=$zmm; return $zmm;}
(ssDMnMenu "[反映]").add_Click({ dbg ("[反映]`n`n$fln");
$zcc=Cat $fln -Raw; SC ($fln+".bak") $zcc -Force; SC $fln ($zcc.substring(0,$zcc.indexof("`n<#"+"#V"))+$tBox.Text) -Force; });
(ssDMnMenu "[bak]").add_Click({ notepad ($fln00+".bak") }); $fln00=$fln;
(ssDMnMenu "[再表示]").add_Click({ ssView( Cat $fln00 -Raw ) }); (ssDMnMenu "[編集]" ).add_Click({ notepad.exe $fln00 });
(ssDMnMenu "[一覧]").add_Click({$zcc="`n"; foreach($cc in $tBox.Text.split("`n")){ if($cc.startsWith("##★")){$zcc+="$cc`n";}; }; MsgBox $zcc; });
(ssDMnMenu "[Help]" ).add_Click({ Start "https://ryupapa008.blogspot.com/2024/08/guiwin_24.html#_List1.2.5" });
##★マウス[WC]操作 ##★DOS処理 ##★explorer処理 ⇒ ★psh追加⇒★画面設定⇒MainDLG表示 ##★Tool窓起動
$tBox.Add_DoubleClick({ $ln=((($tBox.Text).substring(0,$tBox.SelectionStart)).split("`n")).count-1;
$zcc=$tBox.Lines[$ln]; if($zcc.startsWith("##★")){$ln++; $zcc=$tBox.Lines[$ln]; }; ($tBox.Lines[$ln]-split"##")[0];
if( $zcc.startsWith("> ") ){ $zcc=$zcc.substring(1); if($zcc.contains(" cd ") ){ Iex($zcc) }; Start Cmd -Arg "/k $zcc"; return; };
if( $zcc.startsWith(">> ")){ $zcc=$zcc.substring(2); Start -NoN Cmd -Arg "/c $zcc"; return; };
if( $zcc.startsWith("&") ){ for( $ii=1; $ii -lt 200; $ii++ ){ $cc=$tBox.Lines[$ln+$ii]; if($cc -eq $null){ break; };
if( $cc.startsWith(";") ){ $zcc+="`n"+($cc.substring(1)).trim(); }else{ if( $cc.startsWith("#") ){ continue;}; break; }; }; }; ##dbc $zcc;
if( $zcc.startsWith("&&& ")){ $zcc=$zcc.substring(3); $tBox.SelectionStart+=4; Iex($zcc); return;};
if( $zcc.startsWith("!")-and $zcc.contains("http")){ $zcc=$zcc-replace("[`'`"]",""); Iex( "Start `""+(($zcc.split(";"))[1]).trim()+"`"" ); return;};
$zcc=$zcc.replace('"','\"'); if( $zcc.startsWith("& ") ){ $zcc=$zcc.substring(1); Start powershell -Arg "-noe $zcc"; return;};
if( $zcc.startsWith("&& ") ){ $zcc=$zcc.substring(2); Start -NoN powershell -Arg "$zcc"; return; }; (ssMacAct $ln $zcc);
}); function global:ssMacAct($ln,$zcc){;};##★Dumy登録
##★MSG表示Call関数 ★DLG窓の生成 ★MSG窓の文字BOX
function MsgBox($cc){ $fmMBox=New-Object Form -Pro @{ Size="920,640"; }; $mBox=New-Object TextBox -Pro @{ Font="$szFont,13"; Dock="Fill"; Multiline=$True; AcceptsReturn=$True;
ScrollBars=[ScrollBars]::Vertical;}; $fmMBox.Controls.Add($mBox); $mBox.Text=($cc.replace("`n","`r`n")); $mBox.SelectionStart=0; $fmMBox.Show(); };
##★
$fladd=$fln.replace(".bat","_add.ps1"); if( Test-Path $fladd ){ . $fladd; }; ssView($fdt); $mMain.ShowDialog();
<##Ver1.100--[PSH短文アプリ処理例]------------------------------------------------------
## [WC]行をダブルクリックで起動
## [&]行:起動 [&&]行:窓無し起動 [&&&]行:継続起動 [;]行:連結起動 [##★]行:スキップ次行処理
## [!xxxx ;https:yyyy]行:Web表示
##★(1.1) よく使うWebカレンダ一覧
##
![WC]日めくりカレンダ ;https://www.himekuricalendar.com/
![WC]今年のりカレンダ ;https://www.benri.com/calendar/
![WC]六曜・月齢・旧暦カレンダ ;https://www.ajnet.ne.jp/diary_f/?
![WC]カレンダ(2050年まで) ;https://www.benri.com/calendar/list.html
&& Start 'https://www.himekuricalendar.com/' ##[WC]日めくりカレンダ;
##★(1.2) [郵便番号]入力⇒住所変換(Net利用) [WC]
& #
; while($true){ $zNO=Read-Host "[郵便番号(NNNnnnn)]=";
; if( $zNO -eq "" ){ break; };
; $zres=Invoke-WebRequest "https://api.zipaddress.net/?zipcode=$zNO";
; $zobj=ConvertFrom-Json $zres.Content;
; Write-Host('住所:' + $zobj.data.fullAddress) -ForegroundColor Cyan;
; };
##★(1.3) 住所から[郵便番号]の検索 (Net利用) [WC]
&& #
; Start 'https://www.zip-code.jp/adr.php' ##
##★(2.1) 指定フォルダ(zDir)のList表示 [WC]
& #
; $zDir="$HOME\Desktop"; ## フォルダ指定のこと、現在フォルダは $zDir=(pwd); でOK
; "[Dir] $zDir"; $zcc=(dir $zDir -name -re); $zcc;
##★(2.2) 指定フォルダ(zDir)のTree表示 [WC]
& #
; $zDir="$HOME"; ##フォルダ指定のこと
; "[Dir] $zDir"; $zcc=(tree $zDir /f ); $zcc;
##★(2.3) 指定フォルダ(zDir)の容量をLIST表示[*グラフ付き] [WC]
& #
; $zDir="$HOME\Desktop"; ##フォルダ指定のこと
; "[Dir] $zDir";
; $zlist =dir $zDir -Directory |%{ [PsCustomObject]@{ "Name"=$_.Name;
; "Size"=(dir $_.FullName -File -Recurse |measure -Sum -Property Length).Sum }; };
; $zmes =$zlist |measure -Max -Min -Property Size;
; $zlist |%{ [PSCustomObject]@{ "Name"=$_.Name; "Size"=( ([int]$_.Size).ToString("#,#") ).PadLeft(16);
; "Graph"=("*" * [int]($_.Size/($zmes.Maximum)*10)); }; };
##★(3.1) 大きいカレンダ窓の表示 [WC]
&&& #
; function ssBigCalen(){ $fmCal=New-Object Form -Pro @{ Location="100,50"; Size="380,500"; };
; $zMonCal=New-Object MonthCalendar -Pro @{ Font="'Meiryo UI',28"; TrailingForeColor="192,192,0"; };
; $fmCal.Controls.Add($zMonCal); $fmCal.Show();
; }; ssBigCalen;
##★(3.2) WakeUP ON LAN(WoL)の送信(複数台スリープからWakeUP) [WC]
&&& #
; $zPcMac = " ##
; 94-C6-91-79-EF-F6 ##PC11
; 94-C6-91-79-EF-F7 ##PC12
; 94-C6-91-03-6A-B1 ##PC21
; 94-C6-91-03-6A-B2 ##PC22
; C8-E2-65-15-C3-C4 ##PC31
; 24-B7-2A-B2-89-AC ##PC32
; ";
; ##
; $zcc="`n[PC-BIOS Power Management SetUp(WakeUP on LAN)]`n ex) PME:Enb EPU:Dis`n`n";
; foreach( $cc0 in $zPcMac.split("`n") ){ $cc0=$cc0.trim(); if($cc0.length -lt 15){ continue; };
; $cc =(($cc0.split("##"))[0]).trim();
; $zadr =[byte[]]( $cc-split("[:-]") |%{ [Convert]::ToInt32( $_, 16 ); } );
; $zcc1 =([byte[]](@(0xff)*6))+$zadr*16; $ztgt =[System.Net.IPAddress]::Broadcast;
; $zclt =New-Object System.Net.Sockets.UdpClient; $zclt.Connect($ztgt, 2304);
; $zclt.Send($zcc1, $zcc1.Length) |Out-Null; $zclt.Close();
; $zcc +="Send magic packet to: $cc0`r`n";
; }; dbg (">>LAN Power Wake UP<<`n"+$zcc);
##★(3.3) PSH処理の高速化(管理権限で ngen.exeの起動) [WC]
&&& #
; $zcc='-noe cd c:\ ##
; Set-Alias ngen @(dir (join-path ${env:\windir} \"Microsoft.NET\Framework\") ngen.exe -recurse |sort -descending lastwritetime)[0].fullName
; Set-Alias ngen64 @(dir (join-path ${env:\windir} \"Microsoft.NET\Framework64\") ngen.exe -recurse |sort -descending lastwritetime)[0].fullName
; [appdomain]::currentdomain.getassemblies() | %{ if($_.location -match $(\"\\assembly\\GAC_64\") ){
; ngen64 install $_.location }else{ ngen install $_.location }; } ';
; Start -Verb runas -FilePath powershell.exe -Arg "$zcc";
##★(3.4) スーパWeb検索処理([&KKn]マクロ登録) [WC]
&&& #
; $global:szMacroList="【[&KKn]マクロ一覧V1.0】
; #--&マクロ,-Web名称,------検索Url,---------------------------------------#
; &KKK, MSN検索, https://www.bing.com/search?q=
; &KKG, Google検索, https://www.google.co.jp/search?q=
; &KKY, Yahoo検索, https://search.yahoo.co.jp/search?p=
; &KKA, Amazon, https://www.amazon.co.jp/s?k=
; &KKR, R楽天市場, https://search.rakuten.co.jp/search/mall/
; &KK3, 一括検索(3), KKK/KKA/KKR
; &KK5, 一括検索(5), KKK/KKG/KKY/KKA/KKR
; &KKD, 株ドラ, https://www.kabudragon.com/s?t=
; &KKN, Now株価, https://finance.yahoo.co.jp/search/?query=
; ";
; ##★[&KKn]マクロ処理
; function global:ssMacAct($ln,$zcc){
; if( $zcc.startsWith("&KK") ){
; $zcmd=$zcc.substring(0,4); $zcc1=$zcc.substring(4).trim(); $zcm=$szMacroList.split(",`n");
; for($ii=0; $ii -lt $zcm.length; $ii++ ){ if( ($zcm[$ii].trim()) -ne $zcmd){ continue; }; break; };
; $zcc=(($zcm[$ii+2]).trim());
; if($zcc.startsWith("http")){ $zcc+=$zcc1; Iex( "Start `'$zcc`'" ); Start-Sleep -m 500; return; };
; if( ($zcmd -eq "&KK3") -or ($zcmd -eq "&KK5") ){
; foreach($cc in $zcc.split("/")){ if($cc.length -eq 3){ ssMacAct $ln "&$cc $zcc1"; }; }; return; };
; };
; (ssMacAdd $ln $zcc);
; };
; ##★追加処理
; function global:ssMacAdd($ln,$zcc){
; if( ($zcc.startsWith("http"))-or ($zcc.startsWith("!") -and $zcc.contains("http")) ){
; if($zcc.startsWith("!")){ $zcc=($zcc.split(";"))[1]; }; $zcc=($zcc.replace("`'","")).trim(); Iex("Start ; `'$zcc`'"); return; };
; }; dbg "[登録完了]"
##★[&KKn]マクロ処理例
&KKK こぴぺ gui ##[WC] MSNで検索
&KK5 ファンヒータ