前スレ
【最強CUI】PowerShell -Part 2
http://mevius.5ch.net/test/read.cgi/tech/1480109402/
PowerShell -Part 3
■ このスレッドは過去ログ倉庫に格納されています
2018/10/09(火) 17:46:48.32ID:G4IJkzod
769デフォルトの名無しさん
2019/08/18(日) 00:06:00.19ID:26pp6bRY PowerShell の1つ上は、Ruby。
より複雑な、ファイル操作・CSV・テキスト処理・シェルスクリプトなど
例えば、1-liner で、
Linux では、
ls | ruby -ne 'puts $_.center(20, "-")'
Windows では、
ls -name | ruby -ne 'puts $_.center(20, %Q("-"))'
ただし、Windows では、" をエスケープする必要がある。
"-" の部分を、Ruby の% 記法で囲んで、%Q("-") としたら正常に動いた
%, %Q で、ダブルクォーテーションをエスケープできる。\ と同じ。
\"-\"
まあ、VBScript のスレ主のピッコロ大魔王のように、
PS で、5ch をスクレイピングするような猛者もいるけど、Ruby の方が可読性が高い
より複雑な、ファイル操作・CSV・テキスト処理・シェルスクリプトなど
例えば、1-liner で、
Linux では、
ls | ruby -ne 'puts $_.center(20, "-")'
Windows では、
ls -name | ruby -ne 'puts $_.center(20, %Q("-"))'
ただし、Windows では、" をエスケープする必要がある。
"-" の部分を、Ruby の% 記法で囲んで、%Q("-") としたら正常に動いた
%, %Q で、ダブルクォーテーションをエスケープできる。\ と同じ。
\"-\"
まあ、VBScript のスレ主のピッコロ大魔王のように、
PS で、5ch をスクレイピングするような猛者もいるけど、Ruby の方が可読性が高い
770デフォルトの名無しさん
2019/08/18(日) 00:15:38.74ID:4oEGaRbg >>769
お前は出てこなくていい
お前は出てこなくていい
771デフォルトの名無しさん
2019/08/18(日) 08:18:26.56ID:vD0MLvXn772デフォルトの名無しさん
2019/08/18(日) 22:05:00.38ID:aNJOLvna WindowsでRuby使うとかギャグだろ
773デフォルトの名無しさん
2019/08/19(月) 23:45:41.47ID:6VXOyYrl RubyがギャグならPythonは?
774デフォルトの名無しさん
2019/08/20(火) 00:23:10.44ID:S2+8M2EA PythonはAIプログラミングで一躍有名になったね
775デフォルトの名無しさん
2019/08/20(火) 08:18:30.85ID:trDWBWGh >>773
Visual Studio が対応してるし、.NET Framework 上で動く IronPython なんてのがあるくらいだから「アリ」だろうな。
Visual Studio が対応してるし、.NET Framework 上で動く IronPython なんてのがあるくらいだから「アリ」だろうな。
776デフォルトの名無しさん
2019/08/20(火) 15:46:07.95ID:OusQ3pFE Windows版のPythonは結構ちゃんと動くし、Python製のGUIアプリもDropboxとかたまにある
WindowsのRubyは非推奨の流れで、WSL使うか仮想環境のLinux使うか
WindowsのRubyは非推奨の流れで、WSL使うか仮想環境のLinux使うか
777デフォルトの名無しさん
2019/08/20(火) 21:28:48.24ID:n/ZUSiaV 昔、七行プログラミングってあったけど、
PowerShellなら7行ですごいことできるよね
PowerShellなら7行ですごいことできるよね
778デフォルトの名無しさん
2019/08/24(土) 01:22:08.40ID:kPbBL5c4 csvファイル内の特定セル?(エクセルでいうところのcells(1,2)みたいな)を変数に格納して、
そのファイルのファイル名にしたいのですが、こういったことはできますか?
そのファイルのファイル名にしたいのですが、こういったことはできますか?
779778
2019/08/24(土) 01:39:25.56ID:kPbBL5c4 できました。import-csvから要素の取り出しをするだけでした。
780デフォルトの名無しさん
2019/08/26(月) 04:00:34.51ID:yeIOnWDr781デフォルトの名無しさん
2019/08/26(月) 07:51:25.55ID:LOkM9Twk コマンドプロンプトで、where notepad
と入力すると、メモ帳のパスが、2つ表示されるが、
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
PowerShell(PS)で、Get-Command notepad
と入力すると、上の1つだけが表示される。
つまり、PSと、whereコマンドの挙動が異なる!
コマンドプロンプトで、where where と入力すると、
C:\Windows\System32\where.exe
そこで、PSで、where.exe notepad
と入力すると、whereコマンドを呼び出せたので、2つ表示された
と入力すると、メモ帳のパスが、2つ表示されるが、
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
PowerShell(PS)で、Get-Command notepad
と入力すると、上の1つだけが表示される。
つまり、PSと、whereコマンドの挙動が異なる!
コマンドプロンプトで、where where と入力すると、
C:\Windows\System32\where.exe
そこで、PSで、where.exe notepad
と入力すると、whereコマンドを呼び出せたので、2つ表示された
782デフォルトの名無しさん
2019/08/26(月) 08:31:04.34ID:sAEBXghq >>781
Get-Command -CommandType Application notepad は試した?
Get-Command -CommandType Application notepad は試した?
783デフォルトの名無しさん
2019/08/26(月) 14:58:24.63ID:R1/Rmq9c >>781
何を主張したいのかが良く分からんレスだな。
困ってるから何とかしてくれ、とでも言いたいのか?
Get-Command notepad
で
C:\Windows\System32\notepad.exe
が表示されたは、$env:path で一番最初に見つかったものを表示してるだけだ。
試しに $env:path を変更して、C:\Windows\System32 よりも C:\Windows を先にしてみろ。
$env:path を変更したら、念のため Powershell.exe を開きなおすのを忘れんなよ。
あるいは、notepad.exe が二か所にあることが疑問/不満なのか?歴史的な経緯だ。
実態は c:\Windows\WinSxS\ 以下にあるもので、C:\Windows\System32 と C:\Windows に
あるものはハードリンクだ。
三つとも同じハードリンクなので WinSxS\ 以下のものを特別に「実態」と表現するのは本来正しくないが、
WindowsUpdate の仕組み上、便宜的に「実態」と呼んでも差し支えないだろう。
何を主張したいのかが良く分からんレスだな。
困ってるから何とかしてくれ、とでも言いたいのか?
Get-Command notepad
で
C:\Windows\System32\notepad.exe
が表示されたは、$env:path で一番最初に見つかったものを表示してるだけだ。
試しに $env:path を変更して、C:\Windows\System32 よりも C:\Windows を先にしてみろ。
$env:path を変更したら、念のため Powershell.exe を開きなおすのを忘れんなよ。
あるいは、notepad.exe が二か所にあることが疑問/不満なのか?歴史的な経緯だ。
実態は c:\Windows\WinSxS\ 以下にあるもので、C:\Windows\System32 と C:\Windows に
あるものはハードリンクだ。
三つとも同じハードリンクなので WinSxS\ 以下のものを特別に「実態」と表現するのは本来正しくないが、
WindowsUpdate の仕組み上、便宜的に「実態」と呼んでも差し支えないだろう。
784デフォルトの名無しさん
2019/08/26(月) 15:00:01.45ID:R1/Rmq9c785デフォルトの名無しさん
2019/08/26(月) 15:10:26.74ID:JMmOsJb3 Why are there two copies of Notepad?
https://devblogs.microsoft.com/oldnewthing/20060328-17/?p=31753
https://devblogs.microsoft.com/oldnewthing/20060328-17/?p=31753
786デフォルトの名無しさん
2019/08/26(月) 15:27:38.53ID:j8vvMRg5 >>783
独特の文体からして、この板で有名なRuby君かと思われる。話の流れと無関係にRuby推ししてきたり、頓珍漢な知識披露(間違い多数)をしてきたりする奴だから、相手するだけ無駄だよ。
おそらく、ぼくこんなこと気づいたんだよ!って嬉しくて書かずにいられなかっただけだと思う。
独特の文体からして、この板で有名なRuby君かと思われる。話の流れと無関係にRuby推ししてきたり、頓珍漢な知識披露(間違い多数)をしてきたりする奴だから、相手するだけ無駄だよ。
おそらく、ぼくこんなこと気づいたんだよ!って嬉しくて書かずにいられなかっただけだと思う。
788デフォルトの名無しさん
2019/08/27(火) 01:45:40.61ID:OLaosybt DOSメインでPSでしかできない部分だけPSにしてるのをやめて、PS一本化を増やそうかと思い立ったが
そういやDOSからキックしないと動かないのであった
というわけでやはりDOSメイン
そういやDOSからキックしないと動かないのであった
というわけでやはりDOSメイン
789デフォルトの名無しさん
2019/08/27(火) 01:49:02.45ID:OLaosybt なんでそんな仕様にしたんだろうね
かといってPS直でやりたいというより、DOSを拡張して欲しかった
かといってPS直でやりたいというより、DOSを拡張して欲しかった
790デフォルトの名無しさん
2019/08/27(火) 02:31:00.22ID:AUeyxvTx まだDOSなんて使ってんの
791デフォルトの名無しさん
2019/08/27(火) 17:41:47.14ID:DT/yO98c なんでps1てへんてこな拡張子なの
792デフォルトの名無しさん
2019/08/27(火) 18:06:41.10ID:JlFv53u2 どっかのゲーム機みたいにPowerShell 2, PowerShell 3, …って作るんじゃね?w
793デフォルトの名無しさん
2019/08/27(火) 21:28:53.53ID:2r3hz+dJ794デフォルトの名無しさん
2019/08/28(水) 02:40:35.65ID:tqyYzyWN 考え無しに作った結果か・・・
795デフォルトの名無しさん
2019/08/29(木) 03:16:31.66ID:RYMiansx 基本的なことが分かってない気がするのだけど教えてください
get-date, get-childitem, get-location といったコマンドレットの代わりに
get 無しで date, childitem, location と入力しても同じ結果になる
これら get 無しコマンドは get 付きのエイリアスなのか? と最初は思ったのだけど
そんなエイリアスはないと言われる
これらの get 無しコマンド(?) はどういう立ち位置なんでそ?
ちなみに例えば location.bat とかを PATH の通った場所に置いておくと
そっちが実行されるので、これらはサーチパスより優先度が低いようです
get-date, get-childitem, get-location といったコマンドレットの代わりに
get 無しで date, childitem, location と入力しても同じ結果になる
これら get 無しコマンドは get 付きのエイリアスなのか? と最初は思ったのだけど
そんなエイリアスはないと言われる
これらの get 無しコマンド(?) はどういう立ち位置なんでそ?
ちなみに例えば location.bat とかを PATH の通った場所に置いておくと
そっちが実行されるので、これらはサーチパスより優先度が低いようです
796デフォルトの名無しさん
2019/08/29(木) 04:05:52.42ID:TR1/uwdi >>795
基本的なことはここにまとまってる
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-6#qualified-names
1. Alias
2. Function
3. Cmdlet
4. Native Windows commands
の順に探す
ただこの文書にはGetを省略した場合について書いてない
以下のコマンドを実行すればだいたいわかる
Trace-Command CommandDiscovery { date } -PSHost
すると上記の1〜4の順に探してもコマンドが見つからなかった場合、以下のようなデバッグ出力が見つかる
>The command [date] was not found, trying again with get-prepended
つまり1〜4でコマンドが見つからなかった場合は、頭にGetを付加してもう一回1〜4を探すよってこと
基本的なことはここにまとまってる
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_command_precedence?view=powershell-6#qualified-names
1. Alias
2. Function
3. Cmdlet
4. Native Windows commands
の順に探す
ただこの文書にはGetを省略した場合について書いてない
以下のコマンドを実行すればだいたいわかる
Trace-Command CommandDiscovery { date } -PSHost
すると上記の1〜4の順に探してもコマンドが見つからなかった場合、以下のようなデバッグ出力が見つかる
>The command [date] was not found, trying again with get-prepended
つまり1〜4でコマンドが見つからなかった場合は、頭にGetを付加してもう一回1〜4を探すよってこと
797デフォルトの名無しさん
2019/08/29(木) 04:22:51.28ID:RYMiansx798デフォルトの名無しさん
2019/08/29(木) 19:25:49.72ID:+UUfxV7s 初心者で右も左もわからない状況で申し訳無いのですが、
明示的に設定してる共有ディレクトリとアクセス権を一括で出力ってできたりするんですかね?
Get-wmiobject -class win32_share
だとアクセス権までは出力されなかったんで...
詳しい方教えて頂きたいです。
明示的に設定してる共有ディレクトリとアクセス権を一括で出力ってできたりするんですかね?
Get-wmiobject -class win32_share
だとアクセス権までは出力されなかったんで...
詳しい方教えて頂きたいです。
799デフォルトの名無しさん
2019/08/30(金) 00:19:55.56ID:kVpvpBih 「powershell アクセス権限 確認」で検索!
こんな感じ?
ls | Get-ACL
こんな感じ?
ls | Get-ACL
800デフォルトの名無しさん
2019/08/30(金) 10:55:43.01ID:uzgqDeg8801デフォルトの名無しさん
2019/09/06(金) 17:24:06.26ID:LE0BBPZ5 ふぁあああ・・・・
解決してよかったよぉお
ハロー優しい世界、だねええええ^^
解決してよかったよぉお
ハロー優しい世界、だねええええ^^
802デフォルトの名無しさん
2019/09/07(土) 01:23:05.71ID:SOW3zbb3 Set-ACLは使うな
803デフォルトの名無しさん
2019/09/07(土) 06:28:56.33ID:jlJXcZnh >>802
替わりに何を使ったら良いですか?
替わりに何を使ったら良いですか?
804デフォルトの名無しさん
2019/09/07(土) 06:44:55.31ID:jb/JoUUS >>802
why?
why?
805デフォルトの名無しさん
2019/09/07(土) 10:39:33.44ID:sSufJvsQ >>804
俺は >>802 ではないが、Set-Acl は使いづらい。
そもそもの理由は Windows の ACL (ACE) が複雑だからなのだが、対象にセットする ACL オブジェクトを作るのが分かりづらい。
例:All Users のスタートメニューのアクセス権を変更し、一般ユーザにも書き換えられるようにする場合(既存の権限に追加)
https://pastebin.com/R3JBWF2h
他のフォルダなどから ACL オブジェクトをコピーし、それをそのままターゲットに適用するだけなら簡単なのだけど。
>>803
「何が何でもすべて PS でやる!」 というポリシーでないのなら、cscls.exe、icacls.exe のほうがお手軽。
俺は >>802 ではないが、Set-Acl は使いづらい。
そもそもの理由は Windows の ACL (ACE) が複雑だからなのだが、対象にセットする ACL オブジェクトを作るのが分かりづらい。
例:All Users のスタートメニューのアクセス権を変更し、一般ユーザにも書き換えられるようにする場合(既存の権限に追加)
https://pastebin.com/R3JBWF2h
他のフォルダなどから ACL オブジェクトをコピーし、それをそのままターゲットに適用するだけなら簡単なのだけど。
>>803
「何が何でもすべて PS でやる!」 というポリシーでないのなら、cscls.exe、icacls.exe のほうがお手軽。
806デフォルトの名無しさん
2019/09/07(土) 10:48:02.60ID:jlJXcZnh >>802に答えて欲しいな
807デフォルトの名無しさん
2019/09/07(土) 11:08:11.46ID:sSufJvsQ >>806
ごめんね
ごめんね
808デフォルトの名無しさん
2019/09/07(土) 15:10:43.76ID:SOW3zbb3809デフォルトの名無しさん
2019/09/07(土) 15:12:47.14ID:SOW3zbb3 あ、>>803への答えはicaclsコマンド使えね
powershellは変な仕様あるから割と警戒した方がいい
powershellは変な仕様あるから割と警戒した方がいい
810デフォルトの名無しさん
2019/09/08(日) 20:21:13.64ID:d6DJW1MN F:/ に SDカードがマウントされているのを
アンマウントするコマンドは何ですか?
アンマウントするコマンドは何ですか?
811デフォルトの名無しさん
2019/09/08(日) 21:55:23.61ID:D+CIKcq7 >>810
(New-Object -comObject Shell.Application).Namespace(17).ParseName('F:').Verbs()|?{$_.Name -match '取り出し'}|%{$_.Doit()}
(New-Object -comObject Shell.Application).Namespace(17).ParseName('F:').Verbs()|?{$_.Name -match '取り出し'}|%{$_.Doit()}
812デフォルトの名無しさん
2019/09/09(月) 16:38:34.04ID:8EKyQA8Q >>811
thanks
thanks
813デフォルトの名無しさん
2019/09/10(火) 21:38:04.40ID:Eo4YqZPr ■C:\hoge.txtの内容
aaa
bbb
bbb
bbb
ccc
ccc
ccc
ccc
ccc
↑のようなテキストファイルがある場合に、↓の結果(タブ区切り)を得るにはどうすれば良いのでしょうか?
aaa 1
bbb 3
ccc 5
aaa
bbb
bbb
bbb
ccc
ccc
ccc
ccc
ccc
↑のようなテキストファイルがある場合に、↓の結果(タブ区切り)を得るにはどうすれば良いのでしょうか?
aaa 1
bbb 3
ccc 5
814デフォルトの名無しさん
2019/09/10(火) 22:19:37.38ID:L5QX1JAH >>813
Group-Object
Group-Object
815デフォルトの名無しさん
2019/09/10(火) 22:36:34.85ID:hrOpSOVs 頼むから順不同なのかそうじゃないのか
書いてから質問してくれ
書いてから質問してくれ
816デフォルトの名無しさん
2019/09/10(火) 23:28:19.24ID:Eo4YqZPr817デフォルトの名無しさん
2019/09/10(火) 23:30:43.39ID:L5QX1JAH818デフォルトの名無しさん
2019/09/11(水) 00:05:23.05ID:TMos3buL あータブ区切りの文字列にしたいんか
gc hoge.txt | group | foreach { $_.name,$_.count -join "`t" }
gc hoge.txt | group | foreach { $_.name,$_.count -join "`t" }
820デフォルトの名無しさん
2019/09/12(木) 10:44:16.82ID:W/V8jwbc821デフォルトの名無しさん
2019/09/12(木) 13:07:06.37ID:9SxJRVV0822デフォルトの名無しさん
2019/09/12(木) 14:46:18.96ID:pQlsfVOK ふーむ、アホがアホに同調するアホな好例だな、アホすぎてオレにはよく分らんのだが、アホだということは分かる
アホA「ありがとうございます! まだ試していないけど! ★5つです!(^_^)」
アホB「・・これは良い! これからは★で評価しよう!」
ボク「・・いやいや、まだ試してもいないのだから評価もくそもねーだろ、★2〜3の定義もねーし、こいつらアホの極みだな」
アホA「ありがとうございます! まだ試していないけど! ★5つです!(^_^)」
アホB「・・これは良い! これからは★で評価しよう!」
ボク「・・いやいや、まだ試してもいないのだから評価もくそもねーだろ、★2〜3の定義もねーし、こいつらアホの極みだな」
823デフォルトの名無しさん
2019/09/12(木) 14:53:12.75ID:j3ZoG8EK >>822
★
★
824デフォルトの名無しさん
2019/09/12(木) 17:51:47.62ID:TUHPbFV0 >>822
これが噂のヤラセレビューってやつか?
これが噂のヤラセレビューってやつか?
825デフォルトの名無しさん
2019/09/12(木) 18:29:54.11ID:5CMOpd/7 >>822
☆
☆
826デフォルトの名無しさん
2019/09/12(木) 19:50:41.33ID:igJ/H+nC icaclsとか括弧を多用するコマンドはエスケープうざいですね
ヒアドキュメントみたいな感じでスマートに書けませんか
ヒアドキュメントみたいな感じでスマートに書けませんか
827デフォルトの名無しさん
2019/09/13(金) 20:13:01.19ID:Vx47yrR/ PowerShellで非同期処理って酷く書きづらいと思ってるんだが、こんなもんなんか?
変数を渡すのにめっちゃ苦労したんだが…
変数を渡すのにめっちゃ苦労したんだが…
828デフォルトの名無しさん
2019/09/13(金) 21:35:11.86ID:3ZdspPUD 具体的にはどんなコードを書いたの?
829デフォルトの名無しさん
2019/09/13(金) 21:49:24.82ID:Vx47yrR/ あまりにもニッチな製品の負荷テスト用スクリプトだから具体的には言えないが、平たく言えば自作関数とWin標準コマンドを引数変えながら並列投入するだけ
bashと比べちゃ駄目なんだろうが、スクリプト書いててキレそうになったのは久しぶりだわ
bashと比べちゃ駄目なんだろうが、スクリプト書いててキレそうになったのは久しぶりだわ
830デフォルトの名無しさん
2019/09/13(金) 23:05:20.75ID:ha69B7nJ runspaceでやってるのかjobでやってるのか
831デフォルトの名無しさん
2019/09/14(土) 01:25:26.61ID:XbAlqDVd そんな苦労するもんだっけか
832デフォルトの名無しさん
2019/09/14(土) 01:53:38.89ID:ogAZWftq runspaceの中で親スコープで宣言した関数を(特に書き換えずに)呼ぼうとするとややこしい
ちょっとggって出てくる方法だと面倒
https://devblogs.microsoft.com/scripting/powertip-add-custom-function-to-runspace-pool/
解決策:まとめて文字列にして渡す
# runspaceで実行したいスクリプトブロック
$cmd = {
param($func_parent)
$func_current = Get-ChildItem function: | %{$_.ScriptBlock.Ast.ToString()} # カレント(子)スコープの関数リスト
compare-object $func_current $func_parent | % inputobject | Invoke-Expression # 親スコープで宣言した関数のみを定義する
<# 実行したい処理 #>
}
$func = Get-ChildItem function: | %{$_.ScriptBlock.Ast.ToString()} # カレント(親)スコープの関数リスト
$ps = [PowerShell]::Create()
$ps.AddScript($cmd).AddArgument($func) | Out-Null
$result = $ps.BeginInvoke()
$ps.EndInvoke()
$ps.Dispose()
}
ちょっとggって出てくる方法だと面倒
https://devblogs.microsoft.com/scripting/powertip-add-custom-function-to-runspace-pool/
解決策:まとめて文字列にして渡す
# runspaceで実行したいスクリプトブロック
$cmd = {
param($func_parent)
$func_current = Get-ChildItem function: | %{$_.ScriptBlock.Ast.ToString()} # カレント(子)スコープの関数リスト
compare-object $func_current $func_parent | % inputobject | Invoke-Expression # 親スコープで宣言した関数のみを定義する
<# 実行したい処理 #>
}
$func = Get-ChildItem function: | %{$_.ScriptBlock.Ast.ToString()} # カレント(親)スコープの関数リスト
$ps = [PowerShell]::Create()
$ps.AddScript($cmd).AddArgument($func) | Out-Null
$result = $ps.BeginInvoke()
$ps.EndInvoke()
$ps.Dispose()
}
833デフォルトの名無しさん
2019/09/14(土) 01:55:28.35ID:ogAZWftq $ps.EndInvoke($result)
だわ
だわ
834デフォルトの名無しさん
2019/09/14(土) 20:16:09.07ID:atxyCPua 変数じゃねーじゃねーか!
835デフォルトの名無しさん
2019/09/14(土) 20:31:39.96ID:jbpc8Cnk836デフォルトの名無しさん
2019/09/14(土) 20:49:09.80ID:atxyCPua 渡したかったのは関数だって言ってんじゃねーか!
837デフォルトの名無しさん
2019/09/14(土) 21:11:58.91ID:ogAZWftq838デフォルトの名無しさん
2019/09/14(土) 22:03:58.44ID:atxyCPua psm1にまとめて読み込んだほうが楽そう…
839デフォルトの名無しさん
2019/09/14(土) 22:24:21.00ID:Tzf8a7mL うむ
840デフォルトの名無しさん
2019/09/15(日) 15:45:03.86ID:4TgO8+RX >>813-819
大文字小文字が区別されないから、-CaseSensitive オプションも付けた方がよい
"Aa", "b", "aa" | group-object -noelement | where {$_.Count -gt 1}
出力
2 Aa
"A", "a" | group-object -noelement -CaseSensitive
出力
1 A
1 a
大文字小文字が区別されないから、-CaseSensitive オプションも付けた方がよい
"Aa", "b", "aa" | group-object -noelement | where {$_.Count -gt 1}
出力
2 Aa
"A", "a" | group-object -noelement -CaseSensitive
出力
1 A
1 a
841デフォルトの名無しさん
2019/09/15(日) 17:42:03.16ID:tc+PQ4bB 5.1から4.0に戻さないと日本語でいろいろ書いてくれないからわからないんです…
どうやって戻したらいいんでしょうか…(´・ω・`)
どうやって戻したらいいんでしょうか…(´・ω・`)
842デフォルトの名無しさん
2019/09/15(日) 18:02:21.21ID:LMFjfaUx どういうこと(´・ω・`)
843デフォルトの名無しさん
2019/09/15(日) 19:37:50.46ID:tc+PQ4bB (´・ω・`)すみません自己解決しました 更新プログラムの一部を削除したら望む結果が得られました お騒がせしました
844デフォルトの名無しさん
2019/09/15(日) 20:17:50.41ID:aATf+6N9 WMF 5 に上げるとUIの表示が英語になるやつかねたぶん
845デフォルトの名無しさん
2019/09/15(日) 20:48:36.32ID:ORV+CvDJ win7pcのPSを5.1にした時に日本語化探したけどわかんなかったから詳しく書いてほしかった感
846デフォルトの名無しさん
2019/09/15(日) 22:28:51.53ID:tc+PQ4bB847デフォルトの名無しさん
2019/09/15(日) 22:30:29.90ID:tc+PQ4bB848デフォルトの名無しさん
2019/09/18(水) 09:25:06.97ID:jcGpm5QT849デフォルトの名無しさん
2019/09/18(水) 12:47:39.59ID:iUGh13ZQ バッチファイルでいう、
echo %errorlevel%
はパワーシェルではどうやればいいんでしょうか?
echo %errorlevel%
はパワーシェルではどうやればいいんでしょうか?
850デフォルトの名無しさん
2019/09/18(水) 14:54:54.64ID:nNyCwAkD echo $LASTEXITCODE
851デフォルトの名無しさん
2019/09/23(月) 16:12:06.99ID:yWN8gkqC [2018.11.27] 納品書A社
[2018.11.29] 納品書B社
[181129] 納品書C社
このようなフォルダ構造になっている状態で、
このフォルダ階層だけ
3行目の"[YYMMDD] 〜〜"のような書式にフォルダ名を変更したいと思っています。
" 納品書A社"などはそのままで
元の日付も保持します
正規表現では"([2][0][1][0-9])\.([01][0-9])\.([0-3][0-9])"
に反応するものだけで出来ればと思います
どのように書けばよいのでしょうか?
[2018.11.29] 納品書B社
[181129] 納品書C社
このようなフォルダ構造になっている状態で、
このフォルダ階層だけ
3行目の"[YYMMDD] 〜〜"のような書式にフォルダ名を変更したいと思っています。
" 納品書A社"などはそのままで
元の日付も保持します
正規表現では"([2][0][1][0-9])\.([01][0-9])\.([0-3][0-9])"
に反応するものだけで出来ればと思います
どのように書けばよいのでしょうか?
852デフォルトの名無しさん
2019/09/23(月) 18:10:16.40ID:mK3aarjp >>851
Get-ChildItem -Directory |
Where-Object Name -match "^\[20(1[0-9])\.([01][0-9])\.([0-3][0-9])\](.*)" |
Rename-Item -NewName { "[{0}{1}{2}]{3}" -f $Matches[1..4] } -PassThru
これ日付の妥当性チェックはガバいけどそれは別にいいんでしょ
-match演算子を使ったらその結果は変数$Matchesに入ってることを覚えておくといい
Get-ChildItem -Directory |
Where-Object Name -match "^\[20(1[0-9])\.([01][0-9])\.([0-3][0-9])\](.*)" |
Rename-Item -NewName { "[{0}{1}{2}]{3}" -f $Matches[1..4] } -PassThru
これ日付の妥当性チェックはガバいけどそれは別にいいんでしょ
-match演算子を使ったらその結果は変数$Matchesに入ってることを覚えておくといい
853デフォルトの名無しさん
2019/09/23(月) 22:41:23.65ID:CUAPT5Qo NewNameにスクリプトブロック渡せるんだ
%{〜}の中で整形して渡す発想しかなかった
%{〜}の中で整形して渡す発想しかなかった
854デフォルトの名無しさん
2019/09/23(月) 22:54:01.34ID:GUxJcSSn DIRとって一つずつ条件に合致するオブジェジェクトをパイプ渡しするだけだよ
855デフォルトの名無しさん
2019/09/23(月) 23:39:14.69ID:mK3aarjp >>853
Delay Bindingっていって以下の条件を満たすパラメータにスクリプトブロックを渡すと
パイプラインから値が入ってくる度にパラメータの値を評価してくれる
・ ByValue, ByPropertyName属性が付加されてること
・ 型が明示的に指定されてること(ただし[scriptblock]または[object]以外)
Delay Bindingっていって以下の条件を満たすパラメータにスクリプトブロックを渡すと
パイプラインから値が入ってくる度にパラメータの値を評価してくれる
・ ByValue, ByPropertyName属性が付加されてること
・ 型が明示的に指定されてること(ただし[scriptblock]または[object]以外)
856デフォルトの名無しさん
2019/09/24(火) 10:08:27.83ID:hYZHYmb1 >>852
横だけど、すごく参考になった。ありがとう。
横だけど、すごく参考になった。ありがとう。
858デフォルトの名無しさん
2019/09/25(水) 10:57:26.88ID:E/zWVp/e PowerShell って、「Shell」と一括にされてるんだっけ?
The Top Programming Languages 2019
https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2019
The Top Programming Languages 2019
https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2019
859デフォルトの名無しさん
2019/09/25(水) 20:24:06.99ID:idiO5sU0 素のCが3位とかだから老害向けランキングでしょ
860デフォルトの名無しさん
2019/10/14(月) 15:09:43.96ID:WeKpLulI LL言語入門で有名なM.Hiroiさんは
なんでpowershellにかたくなに手を出さんのかと思ってたけど
bashとかシェルスクリプト方面は全く手を付けてないので納得
今はまさかのtcltkのページを更新中というマイペースぶり
なんでpowershellにかたくなに手を出さんのかと思ってたけど
bashとかシェルスクリプト方面は全く手を付けてないので納得
今はまさかのtcltkのページを更新中というマイペースぶり
861デフォルトの名無しさん
2019/10/22(火) 22:39:49.38ID:xAr/pqiO 3位PowerShellってマジかよ
ガチ調査版::2019年プログラミング言語 求人人気ランキング
https://qiita.com/bitai/items/c8941da683ebedd135fd
ガチ調査版::2019年プログラミング言語 求人人気ランキング
https://qiita.com/bitai/items/c8941da683ebedd135fd
862デフォルトの名無しさん
2019/10/23(水) 07:15:39.57ID:4jedgKvl >>861
決め方テキトーだからあてにならんよ
決め方テキトーだからあてにならんよ
863デフォルトの名無しさん
2019/10/23(水) 08:54:10.32ID:1cyp8e5C >>861
開発案件ではなく Windows のインフラ運用系案件の求人数が及ぼした結果だと思う。
求人の要件には「必須スキル」と「スキルが有るなら尚可」とあるけど、PowerShell のスキルは
後者じゃないかと推測。
Windows 系以外でも最近は管理用のスクリプティング環境として PowerShell の採用例が
いくつかあるから、そういう案件もカウントされてるかもしれない。
自分がガッツリ使ってるところだと vSphere かな。これのスクリプティング環境 (PowerCLI) は非常に整備されてて、とても便利。
開発案件ではなく Windows のインフラ運用系案件の求人数が及ぼした結果だと思う。
求人の要件には「必須スキル」と「スキルが有るなら尚可」とあるけど、PowerShell のスキルは
後者じゃないかと推測。
Windows 系以外でも最近は管理用のスクリプティング環境として PowerShell の採用例が
いくつかあるから、そういう案件もカウントされてるかもしれない。
自分がガッツリ使ってるところだと vSphere かな。これのスクリプティング環境 (PowerCLI) は非常に整備されてて、とても便利。
864デフォルトの名無しさん
2019/10/27(日) 10:53:22.24ID:NsKzBf3L 詳しい方、教えて下さい!
シェバン記法でバッチファイル化して実行したいのですが、自スクリプトパスを取得する方法がわかりません。
誰か教えて下さい。
シェバン記法でバッチファイル化して実行したいのですが、自スクリプトパスを取得する方法がわかりません。
誰か教えて下さい。
865デフォルトの名無しさん
2019/10/27(日) 10:58:27.15ID:Lik42TLZ PowerShell、起動が遅いのがなー
なんとかならんかなー
なんとかならんかなー
866デフォルトの名無しさん
2019/10/27(日) 11:38:43.07ID:7LOf++Wk シェバン記法てなぁに?
867デフォルトの名無しさん
2019/10/27(日) 11:42:15.29ID:NsKzBf3L >>866
以下を頭につけて拡張子を.batにするとダブルクリック実行できるようになるという記法のことです。
@powershell -NoProfile -ExecutionPolicy Unrestricted "$s=[scriptblock]::create((gc \"%~f0\"|?{$_.readcount -gt 1})-join\"`n\");&$s" %*&goto:eof
以下を頭につけて拡張子を.batにするとダブルクリック実行できるようになるという記法のことです。
@powershell -NoProfile -ExecutionPolicy Unrestricted "$s=[scriptblock]::create((gc \"%~f0\"|?{$_.readcount -gt 1})-join\"`n\");&$s" %*&goto:eof
868デフォルトの名無しさん
2019/10/27(日) 11:47:16.24ID:7LOf++Wk ありがと
869デフォルトの名無しさん
2019/10/27(日) 11:48:06.40ID:hJUpCTqv Ruby では、__FILE__ が現在評価中のスクリプトファイル名
シェバンは、Linux では、
#!/usr/bin/ruby
Windows に、シェバンってあるの?
.bat に、ruby .\script.rb
と書いて、ダブルクリックで起動したりする事はあるけど
.vbs でも、起動ファイルを作れる
シェバンは、Linux では、
#!/usr/bin/ruby
Windows に、シェバンってあるの?
.bat に、ruby .\script.rb
と書いて、ダブルクリックで起動したりする事はあるけど
.vbs でも、起動ファイルを作れる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【速報】51歳まで自衛隊になれるように法改正ww [347751896]
- (´・ω・`)おいそこ。そこの貴様だ。へらへらするな。
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
