Windows PowerShell Part5
- 1 :名無し~3.EXE:2016/09/18(日) 14:06:24.15 ID:aFEI7ykR.net
- Windows PowerShell
http://technet.microsoft.com/ja-JP/scriptcenter/dd742419.aspx
オンラインヘルプ
https://technet.microsoft.com/ja-jp/library/bb978526.aspx
■パッケージのダウンロード
PowerShell 3.0 (Windows 7以降)
http://www.microsoft.com/en-us/download/details.aspx?id=34595
PowerShell 2.0 (Vista以前は3.0非対応)
http://support.microsoft.com/?kbid=926140
■参考
http://www.atmarkit.co.jp/fdotnet/special/powershell01/powershell01_01.html
http://oka326.blogspot.com/search/label/PowerShell
http://d.hatena.ne.jp/newpops/
http://blogs.msdn.com/PowerShell
■過去スレ
Windows PowerShell Part4
http://echo.2ch.net/test/read.cgi/win/1359719778/
- 891 :名無し~3.EXE:2023/03/14(火) 08:50:14.12 ID:j55kjbdb.net
- レジストリに起動設定ないのかな
- 892 :名無し~3.EXE:2023/03/14(火) 09:33:44.89 ID:nWRh+6Kt.net
- 手っ取り早いのはwinキー, p, w, s, Enter
必要に応じて矢印キーでrun as administratorを選ぶ
Windows11なら「設定」で標準のコンソールを変えることができる
Windows10なら %LOCALAPPDATA%\Microsoft\Windows\WinX の中身を手で書き換える
desktop.ini も隠れてるので書き換え忘れずに
ミスってメニュー壊しても知らんので自己責任で
- 893 :名無し~3.EXE:2023/03/14(火) 09:39:21.39 ID:nWRh+6Kt.net
- わざわざWin+Xを書き換えなくてもwinキー, p, w, s, Enterが早いしどんなコマンドにも応用が効くのでおすすめ
- 894 :名無し~3.EXE:2023/03/14(火) 09:48:07.90 ID:nWRh+6Kt.net
- 応用が効くと書いたので蛇足しとく
Win+R でコマンドをフルに打たなくても最近はスタートメニューにフォーカスがあるときコマンドのインクリメンタルサーチができる
古いほうは powershell.exe、新しいほうは pwsh.exe という実行ファイル名なので pws まで打ち込むと候補が絞れる
- 895 :名無し~3.EXE:2023/03/14(火) 10:07:04.94 ID:HmOg2wGG.net
- 15年前以上前からできるのに「最近」とは一体...
- 896 :名無し~3.EXE:2023/03/14(火) 12:12:30.70 ID:hqk28afV.net
- 情報は提供しないけど上げ足取るのは大好き!
- 897 :名無し~3.EXE:2023/03/14(火) 17:57:08.92 ID:e1/OJBFe.net
- それが5chクオリティ
- 898 :名無し~3.EXE:2023/05/10(水) 15:55:14.90 ID:yrDVFTC5.net
- PowerShell でxmlファイルをtxtファイルに
返還することはできますか?
自動化したいんです。
- 899 :名無し~3.EXE:2023/05/10(水) 16:04:04.46 ID:D680VMto.net
- >>898
手動化できているのなら、変換元と変換結果をどこかにあげて例示しよう
- 900 :名無し~3.EXE:2023/05/10(水) 16:35:51.40 ID:/5g/7Kec.net
- 返還することはできませんね
- 901 :名無し~3.EXE:2023/05/10(水) 18:17:47.39 ID:yrDVFTC5.net
- では読み込んで、クリップボードにコピー
する事はできますか?
- 902 :名無し~3.EXE:2023/05/10(水) 20:13:02.47 ID:Fa16cDxR.net
- はい、できます。$cp::SetText(変数)
最初にSystem.Windows.Formsを読み込んでね
- 903 :名無し~3.EXE:2023/07/24(月) 23:01:39.73 ID:DAFlq/MA.net
- scoop入れてみたけどすごくいいな。使ってる人いない?
てかロクにpowershellのコマンドを知らないものだから irm get.scoop.sh | iex でなんでインストールできるのが不思議だった
賢いなこれw
- 904 :名無し~3.EXE:2023/08/01(火) 22:09:21.18 ID:GWOIvX2E.net
- Get-Contentみたいにテキストファイルを一行毎に配列にしてくれるのを
ファイルじゃなくて標準入力からテキストデータを受け取って配列にする方法はありますか?
- 905 :名無し~3.EXE:2023/08/02(水) 03:46:42.44 ID:SQJ1trr4.net
- セットしたい配列変数が $ary の場合
ヒア文字列で
@"
aaa
bbb
ccc
"@ -split "`n" | tee -Variable ary
とすれば $ary に配列がセットされるけど
画面表示がいらないなら | 以降を
| % {$ary=@()}{$ary+=$_}
としてください
ヒア文字列ではなくてクリップボードの内容を受け取りたい場合は
(Get-Clipboard) | % {$ary=@()}{$ary+=$_.ToString().Trim()}
の様にすれば行毎の文字列の先頭・末尾の空白を消して配列に取り込むことが出来るでしょう
- 906 :名無し~3.EXE:2023/08/02(水) 05:03:40.44 ID:SQJ1trr4.net
- >>898
txtファイルに変換の意味が改行マークの挿入+字下げで良いのなら
xmlファイルの文字コードがUTF8であれば
$f = "$Env:LOCALAPPDATA\Programs\app_foo\config.xml"
$x = New-Object xml; $x.Load($f); $x.Save($f); Remove-Variable x,f
$f のところは xml ファイルのフルパスを入れて下さい
運用する場合
アプリのフルパスが "$Env:LOCALAPPDATA\Programs\app_foo\bar.exe"
テキストエディタが "C:\Program Files\Notepad++\notepad++.exe" であるなら
C:\tools\edit_xml.ps1 の内容
Set-Alias bar "$Env:LOCALAPPDATA\Programs\app_foo\bar.exe"
Set-Alias editor "C:\Program Files\Notepad++\notepad++.exe"
$f = "$Env:LOCALAPPDATA\Programs\app_foo\config.xml"
ps bar -ea SilentlyContinue | % {$_.CloseMainWindow();$_.WaitForExit()}
$x = New-Object xml; $x.Load($f); $x.Save($f); Remove-Variable x
write "編集が終わったらリターンを押してください"
editor $f
pause
Remove-Variable f
start bar
実行する際は & C:\tools\edit_xml.ps1 で
[x] 押したらトレイに遷移するアプリは手動で終了させる or kill に書き換える必要があるでしょう
- 907 :名無し~3.EXE:2023/08/02(水) 14:48:43.93 ID:/Q0pkvbK.net
- >>905
ありがとうございます。
あんたは神ですか?!
- 908 :名無し~3.EXE:2023/08/02(水) 17:45:22.89 ID:wAUoLFTd.net
- いいえ、私はChatGPTです
- 909 :名無し~3.EXE:2023/08/06(日) 13:37:10.66 ID:trqiuMav.net
- n番目の履歴の実行をInvoke-Historyではなくbashみたいに「!n」ってやる方法ありませんか?
- 910 :名無し~3.EXE:2023/08/06(日) 13:38:10.89 ID:trqiuMav.net
- なお、腐れChatGPTの回答はなしでお願いします
聞いたら↓でできるとかデタラメ回答よこしてきたし
function global:history-command { Invoke-History $args[0] }; Set-Alias -Name ! -Value history-command -Option AllScope
- 911 :名無し~3.EXE:2023/08/09(水) 21:30:00.62 ID:4LDaBT3h.net
- PowerShellでは!ではなくrを使う
あとrと番号の間に空白文字をれる
r 3
みたいな感じ
>>910の場合は!の前に&を付ける必要がある
PowerShellの!は論理否定演算子だからな
&! 3
- 912 :名無し~3.EXE:2023/08/14(月) 00:12:39.99 ID:KvGpu80N.net
- 文句ばっかし言っていないで、さっさと変数の中身くらいはデバッグで間違いに気付くようになれ
- 913 :名無し~3.EXE:2023/08/23(水) 18:22:03.67 ID:EtFVSrn5.net
- >>911
ありがとうございます
遅レスですいません
- 914 :名無し~3.EXE:2023/11/19(日) 02:53:30.57 ID:mexehI6A.net
- カレントフォルダにあるファイルをタブ補完したら頭に.\がつくのがうざい
つかないようにできん?
- 915 :名無し~3.EXE:2023/11/19(日) 03:26:27.64 ID:mexehI6A.net
- ここのコード試したらできたわ
ttps://superuser.com/questions/1741125/prevent-powershell-autocomplete-from-adding-dot-prefix
中身はさっぱりわからんけどw
- 916 :名無し~3.EXE:2023/11/23(木) 11:03:13.37 ID:rvVviA7X.net
- オレは.\が付いてくれた方がありがたいけどな
- 917 :名無し~3.EXE:2023/11/23(木) 15:11:54.31 ID:gkbWlZbd.net
- powershellではカレントディレクトリにある.exeや.ps1を実行するときには先頭に .¥ を付ける必要がある
だから補完時に .¥ を付けることだけを抑制するのはちぐはぐな対応で普通はデメリットが大きい
.¥ が必要になったのはセキュリティを考慮した仕様で、ネット等から入手したzip等の中にnotepad.exe等の既知のアプリと同名のマルウェアを仕込んで騙して実行させるようなトラップの類のリスクを低減するもの
- 918 :名無し~3.EXE:2023/11/23(木) 15:14:00.98 ID:gkbWlZbd.net
- 等を3つも書いてしまった
- 919 :名無し~3.EXE:2023/11/23(木) 15:25:00.33 ID:jsjqXK6X.net
- ./
- 920 :名無し~3.EXE:2023/11/24(金) 00:12:14.61 ID:5Gk4stzh.net
- >>917
.\notepad.exeを起動させるんですね
それって安全なの?
- 921 :名無し~3.EXE:2023/11/24(金) 07:38:54.74 ID:EE37UYxk.net
- notepad.exeでカレントディレクトにあるやつが実行されるよりは
ファイル名だけで.¥まで補完すなってのはある
bashなんかは./からタイプしないと補完しないよな
- 922 :名無し~3.EXE:2023/11/25(土) 22:03:33.70 ID:I/DhCPtf.net
- >>920
自ら補完して気づかず起動したらそれまで
この仕様変更によって守られるケースもあるし守れないケースもある
何事にも完璧はないし100じゃないから0じゃないか意味ないと腐すのは愚か者の考え方
セキュリティと利便性はいつだってトレードオフ
- 923 :名無し~3.EXE:2023/12/24(日) 06:08:00.45 ID:097QTqlv.net
- bashの補完ルールがええわ~
- 924 :名無し~3.EXE:2023/12/24(日) 13:53:39.88 ID:FIsi2fsg.net
- >>922
>セキュリティと利便性はいつだってトレードオフ
馬鹿言ってんじゃない。cmdとの互換性なんて要らないのにいまだにカレントディレクトリが探索パスの先頭にあるのが頭おかしいだけ
- 925 :名無し~3.EXE:2023/12/24(日) 14:30:03.64 ID:FIsi2fsg.net
- ん、ちょっと変な書き方になった
要はコマンドライン先頭のコマンド名の箇所の補完でカレントディレクトリのファイルが一番最初にしかも丁寧に.\付きで出てくる仕様自体が
.\を付けないと実行できないようにされてる意味すら無くしてるわけで、毎回ユーザーに目視確認させるんじゃないよって話だ
- 926 :名無し~3.EXE:2024/01/12(金) 20:50:17.30 ID:2Wn8T/Wv.net
- oh my poshって今知ったけどかなりイケてるなこれ
powershell専用と思いきや色んなOS、シェルに対応してる
Windows Terminalでpowershell7とwsl2を両方使う人はこれ使うとプロンプトラインに統一感出ていい感じよ
逆に統一感ありすぎてどっちがどっちか区別つかないかもしれんけど
- 927 :名無し~3.EXE:2024/01/17(水) 01:06:35.44 ID:rBZz05Ed.net
- function hoge { echo "fuga" }
Set-PSReadLineKeyHandler -Chord Ctrl+u -Function hoge
としたらエラーになった
キーバインドでユーザ定義関数は指定できないの?
- 928 :名無し~3.EXE:2024/01/19(金) 21:32:08.19 ID:hyFU9fES.net
- できない
-ScriptBlockを使え
- 929 :名無し~3.EXE:2024/01/20(土) 03:21:07.48 ID:Gf4/xoxf.net
- thxまじか
めんどいな
- 930 :名無し~3.EXE:2024/03/29(金) 00:17:07.99 ID:WT8Xi9KP.net
- 何年目かでいうなら今年3年
アイスタイルふざけんなよ上げろや死ね
- 931 :名無し~3.EXE:2024/04/07(日) 22:28:19.15 ID:MstwRQ/H.net
- ~がhomeに展開されなくて困る
早いとこ対応してくれ
- 932 :名無し~3.EXE:2024/04/22(月) 05:19:28.50 ID:ZLqko9OV.net
- サブディレクトリの下のファイル数をカウントして回るスクリプト
dir -attr D | %{ (dir $_.FullName -attr !D).Count }
おおむね動くんだけどディレクトリ名にスペースがあると0になってしまう
(dir $_).FullName的な挙動になってる気がするんだけどどう書けばいいの?
- 933 :名無し~3.EXE:2024/04/22(月) 12:59:33.73 ID:yZN8T9KO.net
- >>932
こういうのもあるけど
(Get-ChildItem [Path] -Recurse | Measure-Object).Count
- 934 :名無し~3.EXE:2024/04/22(月) 19:53:29.81 ID:fgmThNOO.net
- Get-ChildItem <target> -Directory | % {"{0}: {1}" -f $_.Name,$_.GetFiles().Count} でどうでしょうか
- 935 :名無し~3.EXE:2024/04/22(月) 22:11:02.37 ID:71yNPAYV.net
- こう変えるだけでいいよ
dir -attr D | %{ (dir "$($_.FullName)" -attr !D).Count }
- 936 :名無し~3.EXE:2024/04/23(火) 14:54:25.53 ID:LS5oNk34.net
- dir -attr D | %{ (dir -LiteralPath $_.FullName -attr !D).Count }
dir -attr D | %{ ($_ | dir -attr !D).Count }
- 937 :名無し~3.EXE:2024/05/03(金) 01:59:19.93 ID:P12O+xfO.net
- 落ちそう
- 938 :名無し~3.EXE:2024/05/03(金) 17:36:25.11 ID:yyxjECZa.net
- パイプを使って渡しているだけだからそのような結果となってしまう
横着して一行で済ませようとしなけりゃいいんだよw
- 939 :名無し~3.EXE:2024/05/03(金) 17:56:12.73 ID:yyxjECZa.net
- PowerShellでもIF構文とかも利用出来るんだからねw
- 940 :名無し~3.EXE:2024/05/04(土) 00:00:28.27 ID:XG1JdEno.net
- ファイルフルパス中に含まれるスペースなどはコマンド区切り文字として扱われてしまうので実行時にエラーとなってしまう
for %%1 in ("%MediaPath%") do (set MediaPath=%%~s1)
短いファイル名へと一旦変更するなど工夫をして利用する
246 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★