前スレ
【最強CUI】PowerShell -Part 2
http://mevius.5ch.net/test/read.cgi/tech/1480109402/
PowerShell -Part 3
レス数が1000を超えています。これ以上書き込みはできません。
2018/10/09(火) 17:46:48.32ID:G4IJkzod
2018/10/09(火) 18:49:55.04ID:iKGY38Kd
2
2018/10/09(火) 18:50:04.08ID:iKGY38Kd
3
2018/10/09(火) 19:38:35.78ID:cxSCuSqU
>>1乙
相変わらず潔いテンプレやね
相変わらず潔いテンプレやね
2018/10/09(火) 22:51:28.21ID:o672s7jN
全スレの>>1000って何?
恐くて実行できない
恐くて実行できない
2018/10/09(火) 22:55:38.49ID:06HomXwK
>>5
それくらい読めるだろ?
それくらい読めるだろ?
2018/10/09(火) 23:04:36.73ID:VXCTyrZC
@(1..1000; "complete!") -join " "
2018/10/10(水) 00:49:14.45ID:WXc1B6yp
2018/10/10(水) 13:22:57.24ID:mDHS4zfs
$popuko='';do{Write-Host ($pipimi = ($pptp = 'ポ', 'プ', 'テ', 'ピピック')[(Get-Random -Maximum 4)]) -No; $popuko += $pipimi; sleep -m 10}while($popuko -notmatch "ポプテピピック");"`r`n竹書房ゥァア゛ーッ"
2018/10/10(水) 18:48:47.75ID:EqFs8WH9
全部縦書きで出したほうがらしいきもする
2018/10/10(水) 20:26:48.74ID:l/74Fmoa
本日ハマったこと
下記スクリプトがWin10上でのv2環境ではエラーになる。5.1環境ならもちろん問題なし
$URL = "適当なURL"
$Client = New-Object System.Net.WebClient
$URL.split('/')|%{$Fname=$_}
$Of = Join-Path (Split-Path $MyInvocation.MyCommand.Path) -ChildPath $Fname
$Client.DownloadFile($URL, $Of)
さんざん悩んだが旧OSの実機で検証したら問題なし
Win10のv2環境は実機と動作が違うんだね…
下記スクリプトがWin10上でのv2環境ではエラーになる。5.1環境ならもちろん問題なし
$URL = "適当なURL"
$Client = New-Object System.Net.WebClient
$URL.split('/')|%{$Fname=$_}
$Of = Join-Path (Split-Path $MyInvocation.MyCommand.Path) -ChildPath $Fname
$Client.DownloadFile($URL, $Of)
さんざん悩んだが旧OSの実機で検証したら問題なし
Win10のv2環境は実機と動作が違うんだね…
2018/10/10(水) 20:31:23.38ID:DTc0bT+8
WebClientってたしかブラウザ依存じゃなかったか
13デフォルトの名無しさん
2018/10/10(水) 20:49:55.87ID:e4JT9uU/ パワーシェルからプログラムを呼び出してsendkeyでキーを送りたいのですが
呼び出したプログラムをターゲットウィンドウ固定にできないでしょうか
たとえばnotepadを呼び出してキーを送ろうとしても別ウィンドウクリックしてしまうと別ウィンドウにキーが送られてしまいます
呼び出したプログラムをターゲットウィンドウ固定にできないでしょうか
たとえばnotepadを呼び出してキーを送ろうとしても別ウィンドウクリックしてしまうと別ウィンドウにキーが送られてしまいます
2018/10/10(水) 21:00:38.57ID:Vh016oEU
そもそもSendkeyでやることじゃない気がするぞ
15デフォルトの名無しさん
2018/10/10(水) 21:19:54.19ID:e4JT9uU/ んなこときーてねえんだが
2018/10/10(水) 21:26:48.73ID:PNSFIUfW
豹変した!
2018/10/10(水) 21:29:15.76ID:Vh016oEU
豹変してて草
Sendkeyなんていう不安定なものを使う意図が本当に分からん
Sendkeyなんていう不安定なものを使う意図が本当に分からん
2018/10/10(水) 21:33:58.33ID:KxybdFNG
RPAをPowerShellでやろうってことだろ
2018/10/10(水) 21:55:05.74ID:WXc1B6yp
add-type -AssemblyName microsoft.VisualBasic
$process = Get-Process |? {$_.MainWindowTitle -match "(探したいウィンドウタイトル)"}
[Microsoft.VisualBasic.Interaction]::AppActivate($process.ID)
とかやっとけば良くね?
PowerShell Coreじゃ動かんけどね
$process = Get-Process |? {$_.MainWindowTitle -match "(探したいウィンドウタイトル)"}
[Microsoft.VisualBasic.Interaction]::AppActivate($process.ID)
とかやっとけば良くね?
PowerShell Coreじゃ動かんけどね
2018/10/10(水) 21:58:14.41ID:u0QSMs+t
RPAとか言い出すとほぼCoreで動かない物が出来上がりそう
2018/10/10(水) 21:59:28.00ID:EqFs8WH9
vista以降だとタスクバーペカるだけで最前面に来ないんよね
スクリプト手動実行なら動くんやけどさ
スクリプト手動実行なら動くんやけどさ
2018/10/10(水) 22:38:55.64ID:l/74Fmoa
Appactivateって結局そのウィンドウフォアグラウンドになるんでは?
背面のアプリに文字入力したいならいずれにせよSendkeysではムリ、
UWSCとかだとsenfstr(ID
,"文字列")とかで出来る
背面のアプリに文字入力したいならいずれにせよSendkeysではムリ、
UWSCとかだとsenfstr(ID
,"文字列")とかで出来る
2018/10/10(水) 22:40:28.02ID:l/74Fmoa
Powershell用だと UI Autmation Extentionを使えば出来るのかも。試してはいないが
24デフォルトの名無しさん
2018/10/10(水) 22:46:11.90ID:e4JT9uU/ 外部ソフトではなく、ウィンドウズ標準が良いです
なのでvbsでも良いですが
もしくはフォーカスでなくても常に最前面表示とかでもキー送れるのかな
なのでvbsでも良いですが
もしくはフォーカスでなくても常に最前面表示とかでもキー送れるのかな
2018/10/10(水) 23:14:15.15ID:DK5DBWJW
alt+tab
2018/10/11(木) 00:16:15.07ID:fgwsjZre
$code = @'
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();
'@
Add-Type $code -Name Utils -Namespace Win32
Add-Type -AssemblyName System.Windows.Forms
if($ps = Get-Process|? {$_.MainWindowTitle -like "*メモ帳"}|Select-Object -First 1){
do{
[System.Windows.Forms.SendKeys]::SendWait("%+{TAB}")
Start-Sleep -m 100
$hwnd = [Win32.Utils]::GetForegroundWindow()
}while($hwnd -ne $ps.MainWindowHandle)
}
こんな感じ?
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();
'@
Add-Type $code -Name Utils -Namespace Win32
Add-Type -AssemblyName System.Windows.Forms
if($ps = Get-Process|? {$_.MainWindowTitle -like "*メモ帳"}|Select-Object -First 1){
do{
[System.Windows.Forms.SendKeys]::SendWait("%+{TAB}")
Start-Sleep -m 100
$hwnd = [Win32.Utils]::GetForegroundWindow()
}while($hwnd -ne $ps.MainWindowHandle)
}
こんな感じ?
2018/10/11(木) 16:11:44.71ID:Jfs/paLB
Powershell使いこなすにはC#の知識にも手を出さないとダメかな
.NET使う時点でライブラリの知識いるけど
プロググラム経験無い自分には結構大変だわ
.NET使う時点でライブラリの知識いるけど
プロググラム経験無い自分には結構大変だわ
2018/10/11(木) 17:29:30.69ID:DkVh6b/o
本日ハマり事案
下記スクリプトでは、なぜかRead-Host実行後にGet-Processの結果が表示されてしまう。なーぜだ?
Get-process|?{$_.MainWindowHandle -ne 0}|Select-Object ID,MainWindowHandle,Name,MainWindowTitle
read-host "Enterで終了します"
下記スクリプトでは、なぜかRead-Host実行後にGet-Processの結果が表示されてしまう。なーぜだ?
Get-process|?{$_.MainWindowHandle -ne 0}|Select-Object ID,MainWindowHandle,Name,MainWindowTitle
read-host "Enterで終了します"
2018/10/11(木) 18:43:52.29ID:BCqcg04E
2018/10/11(木) 18:49:10.11ID:DkVh6b/o
>>29
?自分のマシンでは出ないんだよね
Windows10 1803で $PSVersionTable
PSVersion 5.1.17134.228
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17134.228
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
なぜか
Get-Process の行のラストに |Format-Table
付ければ治るんだけど。それが見つかるまでああでもないこうでもないと2時間くらい……
?自分のマシンでは出ないんだよね
Windows10 1803で $PSVersionTable
PSVersion 5.1.17134.228
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17134.228
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
なぜか
Get-Process の行のラストに |Format-Table
付ければ治るんだけど。それが見つかるまでああでもないこうでもないと2時間くらい……
2018/10/11(木) 19:21:50.18ID:fgwsjZre
ふつうにOut-Hostでいいんじゃね
2018/10/11(木) 19:22:00.95ID:oXF4megk
セミコロンで繋げると再現する
Get-process|?{$_.MainWindowHandle -ne 0}|Select-Object ID,MainWindowHandle,Name,MainWindowTitle; read-host "Enterで終了します"
Get-process|?{$_.MainWindowHandle -ne 0}|Select-Object ID,MainWindowHandle,Name,MainWindowTitle; read-host "Enterで終了します"
2018/10/11(木) 19:25:28.95ID:oXF4megk
1行目の最後にOut-Hostをはさむと意図通りになる
Get-process|?{$_.MainWindowHandle -ne 0}|Select-Object ID,MainWindowHandle,Name,MainWindowTitle | Out-Host; read-host "Enterで終了します"
なんでかね
Get-process|?{$_.MainWindowHandle -ne 0}|Select-Object ID,MainWindowHandle,Name,MainWindowTitle | Out-Host; read-host "Enterで終了します"
なんでかね
2018/10/11(木) 19:36:48.45ID:BCqcg04E
こっちは1809だが-Version 2 指定してもセミコロンで繋いでも問題が再現しないよ
PowerShell core 6.1でも問題でない
$PSVersionTable
PSVersion 5.1.17763.1
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17763.1
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
PowerShell core 6.1でも問題でない
$PSVersionTable
PSVersion 5.1.17763.1
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17763.1
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
2018/10/11(木) 19:38:43.55ID:DkVh6b/o
どうも Select-Object のバグっぽい
Get-ChildItem |Select BaseName でも起きる
Selectが後にパイプの別処理か、標準入力から改行受け取らないとコマンド終了判定できないっぽい
Get-ChildItem |Select BaseName でも起きる
Selectが後にパイプの別処理か、標準入力から改行受け取らないとコマンド終了判定できないっぽい
2018/10/11(木) 19:39:17.99ID:oXF4megk
>>32-33の$PSVersionTable
Name Value
---- -----
PSVersion 5.0.10586.117
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.10586.117
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Name Value
---- -----
PSVersion 5.0.10586.117
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.10586.117
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
2018/10/11(木) 19:42:49.06ID:DkVh6b/o
2018/10/11(木) 19:45:57.86ID:oXF4megk
-Version 2指定で大丈夫だった。ps5のバグだね
39デフォルトの名無しさん
2018/10/11(木) 19:46:58.10ID:DkVh6b/o2018/10/11(木) 19:48:49.97ID:oXF4megk
2018/10/11(木) 19:50:56.75ID:DkVh6b/o
42デフォルトの名無しさん
2018/10/11(木) 19:53:12.89ID:BCqcg04E 地味に嫌なバグだな
2018/10/11(木) 20:12:08.43ID:e56c6hX7
2018/10/11(木) 20:17:09.29ID:GeJE+9Ij
PSって時々変な挙動する
逐次処理型のコンソールプログラムを直接実行した時はなんの問題もないのに
PSコンソールから同じ物を呼ぶとたまに固まる現象は未だに原因不明
しかも何故かエンターキー押したら進み出すから意味わからん
一見するとそのコンソールプログラムの問題かと思うけど違うプログラムでも発生するからPSが原因なのは確か
逐次処理型のコンソールプログラムを直接実行した時はなんの問題もないのに
PSコンソールから同じ物を呼ぶとたまに固まる現象は未だに原因不明
しかも何故かエンターキー押したら進み出すから意味わからん
一見するとそのコンソールプログラムの問題かと思うけど違うプログラムでも発生するからPSが原因なのは確か
2018/10/12(金) 13:57:06.10ID:Vm21lImY
PowerShell 6.1って既存のPowershell 5.1 Desktop版と共存できる?
できるなら入れてみようかな
できるなら入れてみようかな
2018/10/12(金) 14:49:07.51ID:LyO2C2Nx
別物やから気にせず入れればええ
2018/10/12(金) 17:23:13.60ID:Vm21lImY
>>46
ありがとう、やってみます
ありがとう、やってみます
48デフォルトの名無しさん
2018/10/12(金) 18:16:36.74ID:tfCNN8gU パワーシェルやバッチから汎用資格情報を利用してリモートデスクトップを起動・接続したいのですが、パワーシェルのcuiでパスワード入力が必ず要求されてしまいます
資格情報は正常に登録されています
これはどう回避すれば良いでしょうか?コマンドではなく、セキュリティポリシーの問題ですか?
資格情報は正常に登録されています
これはどう回避すれば良いでしょうか?コマンドではなく、セキュリティポリシーの問題ですか?
2018/10/12(金) 18:50:34.83ID:VxeOAG4j
>>48
RDP接続部分どんなコードなのさ
RDP接続部分どんなコードなのさ
50デフォルトの名無しさん
2018/10/12(金) 18:58:42.49ID:tfCNN8gU cmdkey /generic:ipアドレス /user:ユーザ名 /password : パスワード
のコマンドで資格情報登録後、
mstsc /v ipアドレス
のコマンドでリモデ呼び出しています
リモデ呼び出してcuiでパスワード入力要求されてしまうので、入力すれば起動するような感じになってしまってます
のコマンドで資格情報登録後、
mstsc /v ipアドレス
のコマンドでリモデ呼び出しています
リモデ呼び出してcuiでパスワード入力要求されてしまうので、入力すれば起動するような感じになってしまってます
2018/10/12(金) 19:06:14.75ID:VxeOAG4j
>>50
>CMDKEY [{/add:ターゲット名 | /generic:ターゲット名}] [/smartcard] [/user:ユーザー名 [/pass[:パスワード]] [/delete{:ターゲット名 | /ras}] [/list[:ターゲット名]]
って構文だけど
>password : パスワード
のところでパス登録できてないんじゃね?
詳しくねーけど
>CMDKEY [{/add:ターゲット名 | /generic:ターゲット名}] [/smartcard] [/user:ユーザー名 [/pass[:パスワード]] [/delete{:ターゲット名 | /ras}] [/list[:ターゲット名]]
って構文だけど
>password : パスワード
のところでパス登録できてないんじゃね?
詳しくねーけど
52デフォルトの名無しさん
2018/10/12(金) 19:28:53.77ID:tfCNN8gU あーパスワードじゃなくて、パスか
そこの違いかな
そこの違いかな
2018/10/12(金) 19:36:20.86ID:VxeOAG4j
やってみたらpasswordでも通ったわ...
関係なさそう
関係なさそう
2018/10/12(金) 19:51:45.48ID:Vm21lImY
こっちの問題じゃないの?
「Windows 資格情報を構成すると、接続先サーバーへユーザー名やパスワードを都度入力することなく、RDPなどで接続できるようになります。
しかし、既定では資格情報を利用したRDP接続は無効化された状態です。そのため、ローカルセキュリティポリシーやグループポリシーを利用して、資格情報を利用した接続を許可する必要があります。」
https://mhiroblog.wordpress.com/2016/12/05/windows-%E8%B3%87%E6%A0%BC%E6%83%85%E5%A0%B1%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%9Frdp%E6%8E%A5%E7%B6%9A%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/
「Windows 資格情報を構成すると、接続先サーバーへユーザー名やパスワードを都度入力することなく、RDPなどで接続できるようになります。
しかし、既定では資格情報を利用したRDP接続は無効化された状態です。そのため、ローカルセキュリティポリシーやグループポリシーを利用して、資格情報を利用した接続を許可する必要があります。」
https://mhiroblog.wordpress.com/2016/12/05/windows-%E8%B3%87%E6%A0%BC%E6%83%85%E5%A0%B1%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%9Frdp%E6%8E%A5%E7%B6%9A%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/
55デフォルトの名無しさん
2018/10/12(金) 21:45:22.73ID:tfCNN8gU おお、ポリシーの問題ですかね
2018/10/12(金) 21:53:31.40ID:3rr2tBek
まず問題の切分をしようよ
・GUIで普通に接続する時はログインを省略出来るのか
・コマンドプロンプトでコマンド直打ちした際はどうなるのか
正直言えばPS関係あるの?って話なんだが
・GUIで普通に接続する時はログインを省略出来るのか
・コマンドプロンプトでコマンド直打ちした際はどうなるのか
正直言えばPS関係あるの?って話なんだが
2018/10/12(金) 22:03:41.12ID:Vm21lImY
まあ多分関係ないね、下記で訊いた方がいいかもしれん
リモートデスクトップ&リモートアシスタンス 6
https://mevius.5ch.net/test/read.cgi/win/1276610475/
リモートデスクトップ&リモートアシスタンス 6
https://mevius.5ch.net/test/read.cgi/win/1276610475/
58デフォルトの名無しさん
2018/10/12(金) 22:51:10.68ID:tfCNN8gU あ、すみませんでした
そこのスレで同じく聞いてみます
そこのスレで同じく聞いてみます
59デフォルトの名無しさん
2018/10/15(月) 20:17:08.40ID:amvePWoq バッチファイルのコードをパワーシェルに変換できるツールってないんでしょうか?
2018/10/15(月) 20:44:11.37ID:iq0D/NFF
本買って勉強しろ
2018/10/15(月) 21:34:07.14ID:E6pr56BO
私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
2018/10/16(火) 00:47:27.56ID:J45RURl2
2018/10/16(火) 00:49:24.42ID:J45RURl2
>>58
過疎スレに聞きに行ってなくてワロタで
過疎スレに聞きに行ってなくてワロタで
2018/10/16(火) 07:15:58.35ID:CAcWp+n6
過疎スレに誘導しといてあんまワロえないわ
2018/10/16(火) 11:41:07.30ID:7RIuHdb8
こういうインフラ系の疑問ってQAサイト無いのかな?
teratailはプログラム関係以外お断りっぽいし、stackoverflowかね、知恵遅れは質が悪くて
teratailはプログラム関係以外お断りっぽいし、stackoverflowかね、知恵遅れは質が悪くて
66デフォルトの名無しさん
2018/10/16(火) 12:07:46.38ID:s3pweWJX パワーシェルのifで数字を比較するとき、 1<5>10
のように複数の演算子使うことできますか?
のように複数の演算子使うことできますか?
2018/10/16(火) 12:28:15.06ID:G4QqtY7K
できません
2018/10/16(火) 12:41:57.06ID:CgKK5Phn
できないよ
1 -lt 5 -lt 10とかやっても、1 -lt 5がTrue、True -lt 10でFalse
1 -lt 5 -lt 10とかやっても、1 -lt 5がTrue、True -lt 10でFalse
2018/10/16(火) 14:04:55.30ID:7RIuHdb8
if (1 -lt 5 -and 5 -lt 10)
2018/10/16(火) 19:33:54.39ID:h2O8wdlC
パワーシェルなんで不等号使えないんでしょなね
2018/10/16(火) 20:10:31.71ID:cDpTxUsb
リダイレクトに不等号使ったから
2018/10/16(火) 20:23:24.10ID:h2O8wdlC
ああ、そういやそうか
2018/10/16(火) 20:41:51.75ID:7RIuHdb8
DOSコマンドプロンプトの伝統を引き継いだ説
equ → -eq
neq → -ne
lss → -lt
leq → -le
gtr → -gt
geq → -ge
equ → -eq
neq → -ne
lss → -lt
leq → -le
gtr → -gt
geq → -ge
2018/10/16(火) 20:45:56.62ID:7RIuHdb8
DOSの時中途半端にUnix真似たのを今度は揃えたっていうのが正しいか
2018/10/16(火) 20:58:38.76ID:tHbhOnY/
コマンドプロンプト互換用にリダイレクトは要るけどPowerShell的には使い道あんまり無い気がする
76デフォルトの名無しさん
2018/10/16(火) 23:56:23.47ID:VMcjBADQ 普通にfortranの比較演算子だからな
2018/10/17(水) 04:23:05.21ID:fXyyO1tZ
いやFortranでもDOSでもなくてシェルスクリプトを意識してるでしょ
Fortranなら.GT.とかだし<>=も使える
Fortranなら.GT.とかだし<>=も使える
78デフォルトの名無しさん
2018/10/17(水) 22:05:24.45ID:Ny9Q/0jK また低学歴知恵遅れの知ったかがテキトーなこといってるわ。。。
昔のfortranは<>=なんか使えない
あとな、シェルスクリプトなんかよりfortranのほうが
はるかに歴史が古い
昔のfortranは<>=なんか使えない
あとな、シェルスクリプトなんかよりfortranのほうが
はるかに歴史が古い
2018/10/17(水) 23:43:13.88ID:uJo2tnoC
やっとPowershell core 6.1入れてみた。
defaultがUTF-8に変わって
sjisテキストの入出力は難しくなった。
-encoding ([System.Text.Encoding]::GetEncoding(932))と書くか-encoding oemならまだ通るんだね
defaultがUTF-8に変わって
sjisテキストの入出力は難しくなった。
-encoding ([System.Text.Encoding]::GetEncoding(932))と書くか-encoding oemならまだ通るんだね
2018/10/18(木) 17:54:54.30ID:VXAXqhVo
非常に浅学で申し訳ないんだがScreenshot_2017-09-14-00-32-38では下のURLのプログラムは機能するんだけどScreenshot_20170914-003238ってファイル名だとどうイジれば対応させられますかね…?
1日あれこれ調べたけどregexの正規表現の羅列あたりが特によく分からなかった。出来ればご教示お願いします。
ttp://bannan.hatenadiary.jp
/entry/2018/04/10/210807
1日あれこれ調べたけどregexの正規表現の羅列あたりが特によく分からなかった。出来ればご教示お願いします。
ttp://bannan.hatenadiary.jp
/entry/2018/04/10/210807
2018/10/18(木) 19:03:43.40ID:RGjTx9dN
>>80
これでいいよ
下手に汎用性もたせようとするとそんな風に失敗してるものができる
ls -file | where name -match "Screenshot_(\d{4})(\d{2})(\d{2})-(\d{2})(\d{2})(\d{2})" |
foreach { $_.CreationTime = $_.LastWriteTime = "{0}/{1}/{2} {3}:{4}:{5}" -f $Matches[1..6]; $_ }
read-host "何かキーを押すと終了"
これでいいよ
下手に汎用性もたせようとするとそんな風に失敗してるものができる
ls -file | where name -match "Screenshot_(\d{4})(\d{2})(\d{2})-(\d{2})(\d{2})(\d{2})" |
foreach { $_.CreationTime = $_.LastWriteTime = "{0}/{1}/{2} {3}:{4}:{5}" -f $Matches[1..6]; $_ }
read-host "何かキーを押すと終了"
2018/10/18(木) 19:36:40.46ID:vpgDyIt0
代入の二段重ねなんて出来るんだw
2018/10/18(木) 19:53:20.76ID:nSVk5plj
$a = $b = 1ってできるじゃん
84>>80
2018/10/18(木) 23:03:06.79ID:AkEYj+KW >>81
おお、サンプルまで作って頂きありがとうございます!!
瞬く間に1000枚に情報入力出来ました!
where nameの働きと-f $Matchesの左右の表現が調べても最後までピンと来なかったのでもっと学んで見たいと思います
おお、サンプルまで作って頂きありがとうございます!!
瞬く間に1000枚に情報入力出来ました!
where nameの働きと-f $Matchesの左右の表現が調べても最後までピンと来なかったのでもっと学んで見たいと思います
85デフォルトの名無しさん
2018/10/23(火) 11:35:11.62ID:Hcq+1RfE PowerShellってキャリア採用の条件で提示するようなもん?
・PowerShellができる方
ってどこまで理解していればこれに該当するかな
・PowerShellができる方
ってどこまで理解していればこれに該当するかな
2018/10/23(火) 12:52:00.21ID:0PL1FVew
案件列挙すればいいんじゃね
87デフォルトの名無しさん
2018/10/23(火) 19:08:54.72ID:R3+D42hK パワーシェル単体ではちょっと弱い
パワーシェル扱ってるということはインフラ系だと思うからプラスアルファでvbaやvbsなどインフラ系スクリプト言語やAJSなどのバッチサーバの経験がほしい
パワーシェル扱ってるということはインフラ系だと思うからプラスアルファでvbaやvbsなどインフラ系スクリプト言語やAJSなどのバッチサーバの経験がほしい
2018/10/23(火) 21:27:43.17ID:JY03xd2e
いらんわそんなの
89デフォルトの名無しさん
2018/10/23(火) 21:36:09.49ID:Cxf5lQdo パワーシェルだけじゃ仕事ないっていう観点はあっている
2018/10/23(火) 21:56:38.39ID:xD54VN5l
クセと多いがpowershell好きw
できるだけ小文字で書きたいのだが、インテリセンスが大文字混ぜるのをなんとかしたい、なにか手はある?
あとパラメータとか短縮表記になったのを伸ばすツールある?
できるだけ小文字で書きたいのだが、インテリセンスが大文字混ぜるのをなんとかしたい、なにか手はある?
あとパラメータとか短縮表記になったのを伸ばすツールある?
2018/10/24(水) 07:53:58.83ID:XShW8ZKK
>>90
補正のないエディタを使う
補正のないエディタを使う
92デフォルトの名無しさん
2018/10/24(水) 08:55:14.55ID:paw2wRgq PowerShellEditorServicesはオープンソースだから改造すればえんちゃう
93デフォルトの名無しさん
2018/10/24(水) 15:40:32.38ID:+Ub61VYb クリップコマンド使うとなぜか改行がはいってしまいます、改善策ないでしょうか?
"test" |clip
で、メモ帳などに貼り付けると改行ついていて不都合があります!
"test" |clip
で、メモ帳などに貼り付けると改行ついていて不都合があります!
2018/10/24(水) 17:13:32.82ID:K/10T0Yf
set-clipboardコマンドレット使えば行けそう
今はテスト出来ないしPowershell5.0以降が必要だけど(Windows10なら標準)
今はテスト出来ないしPowershell5.0以降が必要だけど(Windows10なら標準)
95デフォルトの名無しさん
2018/10/24(水) 18:07:46.88ID:+Ub61VYb Windowsサーバ2012r2なんですがそのコマンドあるかな・・・
96デフォルトの名無しさん
2018/10/24(水) 18:33:39.42ID:+Ub61VYb ちなみにですがバッチファイルだと下のコマンドで改行なしにできるのですが、パワーシェルからからこのコマンド呼び出すと<がリダイレクトマークなのでつかえません!ってエラーがでます
このコマンドをパワーシェルで使う方法などありますか?
set /p <nul="test" | clip
このコマンドをパワーシェルで使う方法などありますか?
set /p <nul="test" | clip
2018/10/24(水) 18:49:21.75ID:TznUYXv0
>>96
cmd /c 'set /p <nul="test" | clip'
cmd /c 'set /p <nul="test" | clip'
98デフォルトの名無しさん
2018/10/24(水) 19:01:25.53ID:+Ub61VYb コマンドプロンプト部分をシングルコーテートでくくってcmdのオプションで/cつければ他のコマンドも実行できるんですか?
試してみます、ありがとうございます
試してみます、ありがとうございます
2018/10/24(水) 19:04:05.43ID:SZPDhNVG
100デフォルトの名無しさん
2018/10/24(水) 20:12:04.59ID:SZPDhNVG Win10 1809のWin Powershellなんだけど
powershell -Version 3.0
でも$PSVersionTableで3.0にならない
2.0だと変わる、バグかな
powershell -Version 3.0
でも$PSVersionTableで3.0にならない
2.0だと変わる、バグかな
101デフォルトの名無しさん
2018/10/25(木) 03:52:38.91ID:BKSYttF8 基本的なことですいません。
tab補完で、最初にカレントディレクトリの./がつくのをつかないようにできませんか。
javaを実行するときjava ./hogehogeとなって、いちいち./消すのが面倒なもので
tab補完で、最初にカレントディレクトリの./がつくのをつかないようにできませんか。
javaを実行するときjava ./hogehogeとなって、いちいち./消すのが面倒なもので
102デフォルトの名無しさん
2018/10/25(木) 06:11:52.99ID:IIA5RA/7103デフォルトの名無しさん
2018/10/25(木) 17:13:59.66ID:ehGwymsw PowerShellはコマンドプロンプトと同じように使おうとしてハマる奴多いな
コマンドプロンプトとは別物として考えた方が良いと思うんだけど
コマンドプロンプトとは別物として考えた方が良いと思うんだけど
104デフォルトの名無しさん
2018/10/25(木) 20:14:57.95ID:UAZv//mL javaはファイル名じゃないでしょ
105デフォルトの名無しさん
2018/10/25(木) 23:48:32.38ID:BKSYttF8 >>102
>javac hogehoge.java
>java hogehoge
としたいんです。
javaで実行くるときはファイルではなく、クラスを指定するので、カレントディレクトリの指定があると実行できないんです。
>javac hogehoge.java
>java hogehoge
としたいんです。
javaで実行くるときはファイルではなく、クラスを指定するので、カレントディレクトリの指定があると実行できないんです。
106デフォルトの名無しさん
2018/10/26(金) 00:09:24.34ID:AQgJ1GgH 普通はIDE使うんですけどね
107デフォルトの名無しさん
2018/10/26(金) 02:42:44.17ID:+qiDmRnL >>105
java hogehogeって書いたスクリプトファイルを用意したらいいんじゃね?
java hogehogeって書いたスクリプトファイルを用意したらいいんじゃね?
108デフォルトの名無しさん
2018/10/26(金) 03:54:22.79ID:9wT1H/41 >>105
何で./があると実行できないのか俺にはわからんが
そのjavaというプログラムの第一引数は単なるファイル名ではないってことか
PowerShellウィンドウとは相性が悪いプログラムってことだな
上にあるようにIDEを使うか、コマンドプロンプトで使うしかないだろう
何で./があると実行できないのか俺にはわからんが
そのjavaというプログラムの第一引数は単なるファイル名ではないってことか
PowerShellウィンドウとは相性が悪いプログラムってことだな
上にあるようにIDEを使うか、コマンドプロンプトで使うしかないだろう
109デフォルトの名無しさん
2018/10/26(金) 06:31:22.94ID:FXq8Nzbn Powershellの自動補完のせいじゃないだろ、そんな所でtabを叩く操作がおかしい
110デフォルトの名無しさん
2018/10/26(金) 07:44:23.03ID:fUEsFsck いちいち手作業が面倒くさいときこそシェルスクリプトを書くべきじゃまいか
引数のパスからクラス名を取り出して他の引数はそのままjava.exeに渡す
このスクリプトにパスを通しておく
coかcomまで辿ればパッケージにも対応できるな
引数のパスからクラス名を取り出して他の引数はそのままjava.exeに渡す
このスクリプトにパスを通しておく
coかcomまで辿ればパッケージにも対応できるな
111デフォルトの名無しさん
2018/10/26(金) 07:45:45.75ID:fUEsFsck coじゃなくてjpだった
112デフォルトの名無しさん
2018/10/26(金) 14:40:25.23ID:9NaxqrWo113デフォルトの名無しさん
2018/10/26(金) 14:44:17.82ID:9NaxqrWo >>109
クラス名をフルで手入力ですか?
クラス名をフルで手入力ですか?
114デフォルトの名無しさん
2018/10/26(金) 18:35:01.07ID:zbWSKzqB プログラムとスクリプトとシェルの違いって何ですか?
パワーシェルは何?
パワーシェルは何?
115デフォルトの名無しさん
2018/10/26(金) 18:46:34.50ID:xBIHPZW8 コマンドプロンプト・PowerShell・bash は、コマンドを入力できるから、シェル
コマンドプロンプト用に、ファイルに書いたプログラムは、バッチファイル。
PowerShell・bash用に、ファイルに書いたプログラムは、シェルスクリプト
コマンドプロンプト用に、ファイルに書いたプログラムは、バッチファイル。
PowerShell・bash用に、ファイルに書いたプログラムは、シェルスクリプト
116デフォルトの名無しさん
2018/10/26(金) 19:16:08.67ID:6wLQ7f7d117デフォルトの名無しさん
2018/10/26(金) 19:30:22.59ID:FXq8Nzbn クラスファイルに.class 拡張子は付いてないという前提でラクそうな方法
java -classpath
まで入れて、ファイル名一部入力してtab
.\Hogeが保管されるので
Ctrl+←で一回おすと\の後の文字に飛ぶ。
そこでスペースキー
java -classpath .\ Hoge
Javaは拡張子は見ませんだの、ファイル名見ませんだの、大文字小文字区別だのいろいろ面倒ね
java -classpath
まで入れて、ファイル名一部入力してtab
.\Hogeが保管されるので
Ctrl+←で一回おすと\の後の文字に飛ぶ。
そこでスペースキー
java -classpath .\ Hoge
Javaは拡張子は見ませんだの、ファイル名見ませんだの、大文字小文字区別だのいろいろ面倒ね
118デフォルトの名無しさん
2018/10/26(金) 20:11:54.17ID:AQgJ1GgH >>113
Linuxでzsh使おうね
Linuxでzsh使おうね
119デフォルトの名無しさん
2018/10/26(金) 20:14:30.49ID:mtqgcbcu ComObjectみたいにJavaObjectをNewできたら便利だとおもう
Java相互運用ラッパーを自動生成するコマンドレットない?
Java相互運用ラッパーを自動生成するコマンドレットない?
120デフォルトの名無しさん
2018/10/27(土) 11:50:26.09ID:E3+jW7oE121デフォルトの名無しさん
2018/10/28(日) 22:43:03.45ID:cS/B+JtL PowerShell Core 6.1 の新機能
https://docs.microsoft.com/ja-jp/powershell/scripting/whats-new/what-s-new-in-powershell-core-61
https://docs.microsoft.com/ja-jp/powershell/scripting/whats-new/what-s-new-in-powershell-core-61
122デフォルトの名無しさん
2018/10/29(月) 21:10:57.38ID:UusL+Srb123デフォルトの名無しさん
2018/10/30(火) 00:22:31.97ID:LZVff6s3 パワーシェルやバッチってプログラム言語と言えるの?
124デフォルトの名無しさん
2018/10/30(火) 04:04:48.57ID:ZaLbntHv シェルスクリプト(awk sed,perl)含むの記述がプログラムか?と問われたら是非別れるのと同じ気がする。用法、組み方によるのでは?
各種言語を切り貼り利用できるグルー言語資質と、プロトタイピング性に優れてる。
データ扱いが常にオブジェクトというのがそれらと大きく異質。
各種言語を切り貼り利用できるグルー言語資質と、プロトタイピング性に優れてる。
データ扱いが常にオブジェクトというのがそれらと大きく異質。
125デフォルトの名無しさん
2018/10/30(火) 06:32:05.32ID:aroewsdA >>123
あなたのプログラム言語の定義は?
あなたのプログラム言語の定義は?
126デフォルトの名無しさん
2018/10/30(火) 07:27:28.27ID:H5WVH8ZO 一般的な基準として、チューリング完全な、プログラムを記述するための形式言語ならプログラミング言語
Powershellはbrainf*ckインタープリタを書けるらしいのでチューリング完全
だからプログラミング言語と言って差し支えない
Powershellはbrainf*ckインタープリタを書けるらしいのでチューリング完全
だからプログラミング言語と言って差し支えない
127デフォルトの名無しさん
2018/10/30(火) 07:50:51.52ID:wAgTgtJ2 >>122
21世紀のnroffだわな
21世紀のnroffだわな
128デフォルトの名無しさん
2018/10/30(火) 19:29:22.59ID:5BbWkodl WindowsPEのvbsがシステムフォントの変更によって使い物にならなくなったので
PowerShellでフォントを指定したメッセージボックスを使いたいです。
インプットボックスでフォントを指定したサンプルは見つけましたが
メッセージボックス版が見つけられません。
コードを教えていただけますでしょうか。
バッチスレの住人でPowerShellは門外漢なのです。
PowerShellでフォントを指定したメッセージボックスを使いたいです。
インプットボックスでフォントを指定したサンプルは見つけましたが
メッセージボックス版が見つけられません。
コードを教えていただけますでしょうか。
バッチスレの住人でPowerShellは門外漢なのです。
129デフォルトの名無しさん
2018/10/30(火) 20:40:30.78ID:LZVff6s3 よくわからんけどmsgコマンドじゃあかんの?
130デフォルトの名無しさん
2018/10/30(火) 21:16:30.95ID:J8L+p3HY >>129
WindowsのPro版にある「Msg.exe」の事ですか?
WindowsPEに有りませんし、持って来ても動きませんでした。
WindowsPEはx86のexeをx64で動かせないので
x86しかexeが無い場合は使えません。
その点、スクリプトはビット数を選ばないので都合がいいのです。
WindowsのPro版にある「Msg.exe」の事ですか?
WindowsPEに有りませんし、持って来ても動きませんでした。
WindowsPEはx86のexeをx64で動かせないので
x86しかexeが無い場合は使えません。
その点、スクリプトはビット数を選ばないので都合がいいのです。
131デフォルトの名無しさん
2018/10/30(火) 21:25:14.89ID:eTO/K+Ns Add-Type -Assembly System.Windows.Forms
[System.Windows.Forms.MessageBox]::Show("メッセージ", "タイトル")
で行けるかね?
PEでWindowsForms使えるか分からんけど
[System.Windows.Forms.MessageBox]::Show("メッセージ", "タイトル")
で行けるかね?
PEでWindowsForms使えるか分からんけど
132デフォルトの名無しさん
2018/10/30(火) 21:41:00.25ID:OyNBi9EH そもそもPEなんてしょぼ環境にPowershellや.NETランタイム入ってるんだっけ
逆にPSが動作するぐらいならSysWOW64ぐらい入っててもよさそうだが
逆にPSが動作するぐらいならSysWOW64ぐらい入っててもよさそうだが
133デフォルトの名無しさん
2018/10/30(火) 21:41:13.95ID:J8L+p3HY134デフォルトの名無しさん
2018/10/30(火) 22:39:58.99ID:ZaLbntHv インプットボックスのサンプルこれか?
https://docs.microsoft.com/ja-jp/powershell/scripting/getting-started/cookbooks/creating-a-custom-input-box?view=powershell-6
これなら、テキストBOX削ってカスタマイズすりゃいいんじゃ?
https://docs.microsoft.com/ja-jp/powershell/scripting/getting-started/cookbooks/creating-a-custom-input-box?view=powershell-6
これなら、テキストBOX削ってカスタマイズすりゃいいんじゃ?
135デフォルトの名無しさん
2018/10/31(水) 01:30:38.10ID:FlI1cXqx バッチから引数付きで呼び出す時に、引数 ※param() でエラーが出た時って
%ERRORLEVEL% は 0 ですよね?
trapやtry〜catchもできないし。。。
param での例外を判定する方法はないでしょうか
%ERRORLEVEL% は 0 ですよね?
trapやtry〜catchもできないし。。。
param での例外を判定する方法はないでしょうか
136デフォルトの名無しさん
2018/10/31(水) 10:46:10.57ID:7QmHbGvy WindowsFormsつかってフォントかえるなら
FormつくってLabelのfontに
Add-Type -AssemblyName System.Drawing
$Font = New-Object System.Drawing.Font("メイリオ",18)
でぶち込むくらいしか知らねい
FormつくってLabelのfontに
Add-Type -AssemblyName System.Drawing
$Font = New-Object System.Drawing.Font("メイリオ",18)
でぶち込むくらいしか知らねい
137デフォルトの名無しさん
2018/10/31(水) 19:08:52.44ID:TK2x4mB7138デフォルトの名無しさん
2018/10/31(水) 19:25:39.36ID:zoWehdgp 今更ながらに気が付いた話。
大容量のcsvファイルをimport-csvで読むとメモリーの問題があり・・・・
と思い込んでいたんだけど。
.NETが基本なんで、もしかして中身はIEnumerable利用なんかな?
と思い、ためしに130万件で20項目のデータを使って
import-csv をそのままパイプでgroup-objectにつないで集計してみたら
何の問題もなく結果が得られた。
そうだよね、遅延実行してくれてるんだよね。
処理速度は別として、1億件でもメモリー圧迫なしで処理できるんだ。
自作コマンドレット作ると、デカいデータをPowerShell使った処理が
可能だな。
と気が付いた次第。
皆にとっては当たり前かもしれんけど、いま気が付いたよ。
大容量のcsvファイルをimport-csvで読むとメモリーの問題があり・・・・
と思い込んでいたんだけど。
.NETが基本なんで、もしかして中身はIEnumerable利用なんかな?
と思い、ためしに130万件で20項目のデータを使って
import-csv をそのままパイプでgroup-objectにつないで集計してみたら
何の問題もなく結果が得られた。
そうだよね、遅延実行してくれてるんだよね。
処理速度は別として、1億件でもメモリー圧迫なしで処理できるんだ。
自作コマンドレット作ると、デカいデータをPowerShell使った処理が
可能だな。
と気が付いた次第。
皆にとっては当たり前かもしれんけど、いま気が付いたよ。
139デフォルトの名無しさん
2018/10/31(水) 20:54:57.34ID:2eQnYqe5140デフォルトの名無しさん
2018/10/31(水) 21:31:23.96ID:1CGtBgIK 135です
自己解決しました
>>137
既存の置き換えなのでそうもいかないのです^^;
結局、呼び出したps1ファイルの中で関数化してInvoke-commandでスクリプトブロックを呼び出しました
自己解決しました
>>137
既存の置き換えなのでそうもいかないのです^^;
結局、呼び出したps1ファイルの中で関数化してInvoke-commandでスクリプトブロックを呼び出しました
141138
2018/10/31(水) 22:05:02.46ID:zoWehdgp PCで時間計測してみた
819万件20項目のCSVファイルで2項目を指定したクロス集計。
CSV読み込みからクロス集計まで。
環境はmac mini。OSはwin7
結果:17分16秒
まあ許せるんじゃないでしょうか。
ついでなんでSASで同じことをやってみた、読み込みからクロス集計。
結果:0分9秒
・・・・・・がっくり
819万件20項目のCSVファイルで2項目を指定したクロス集計。
CSV読み込みからクロス集計まで。
環境はmac mini。OSはwin7
結果:17分16秒
まあ許せるんじゃないでしょうか。
ついでなんでSASで同じことをやってみた、読み込みからクロス集計。
結果:0分9秒
・・・・・・がっくり
142デフォルトの名無しさん
2018/10/31(水) 22:11:26.13ID:khMCZPOm SASって何?
143デフォルトの名無しさん
2018/10/31(水) 22:13:11.37ID:7QmHbGvy >>139
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
$form = New-Object System.Windows.Forms.Form
$form.Text = "タイトル"
$form.Size = New-Object System.Drawing.Size(260,180)
$form.StartPosition = "CenterScreen"
$form.MaximizeBox = $false
$form.MinimizeBox = $false
$form.FormBorderStyle = "FixedSingle"
$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Point(130,100)
$OKButton.Size = New-Object System.Drawing.Size(75,30)
$OKButton.Text = "OK"
$OKButton.DialogResult = [System.Windows.Forms.DialogResult]::OK
$form.AcceptButton = $OKButton
$form.Controls.Add($OKButton)
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
$form = New-Object System.Windows.Forms.Form
$form.Text = "タイトル"
$form.Size = New-Object System.Drawing.Size(260,180)
$form.StartPosition = "CenterScreen"
$form.MaximizeBox = $false
$form.MinimizeBox = $false
$form.FormBorderStyle = "FixedSingle"
$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Point(130,100)
$OKButton.Size = New-Object System.Drawing.Size(75,30)
$OKButton.Text = "OK"
$OKButton.DialogResult = [System.Windows.Forms.DialogResult]::OK
$form.AcceptButton = $OKButton
$form.Controls.Add($OKButton)
144デフォルトの名無しさん
2018/10/31(水) 22:13:40.92ID:7QmHbGvy >>139
$Font = New-Object System.Drawing.Font("メイリオ",18)
$label = New-Object System.Windows.Forms.Label
$label.Location = New-Object System.Drawing.Point(10,30)
$label.Size = New-Object System.Drawing.Size(250,30)
$label.Text = "メッセージ"
$label.font = $Font
$form.Controls.Add($label)
$form.Topmost = $True
$result = $form.ShowDialog()
$Font = New-Object System.Drawing.Font("メイリオ",18)
$label = New-Object System.Windows.Forms.Label
$label.Location = New-Object System.Drawing.Point(10,30)
$label.Size = New-Object System.Drawing.Size(250,30)
$label.Text = "メッセージ"
$label.font = $Font
$form.Controls.Add($label)
$form.Topmost = $True
$result = $form.ShowDialog()
145デフォルトの名無しさん
2018/10/31(水) 22:26:30.11ID:zoWehdgp 統計関係で有名なソフト
データ加工がめちゃ便利で速い。値段が高い。
GoogleやAppleが会社(仕事環境:オフィスや会社の環境)は
SASの本社(SAS Institute)を参考にしたそうだ。
データ加工がめちゃ便利で速い。値段が高い。
GoogleやAppleが会社(仕事環境:オフィスや会社の環境)は
SASの本社(SAS Institute)を参考にしたそうだ。
146デフォルトの名無しさん
2018/10/31(水) 22:30:05.21ID:7QmHbGvy はぁそうですか
147デフォルトの名無しさん
2018/10/31(水) 22:37:39.56ID:zoWehdgp 私のデスクトップ環境で、ソフト年間レンタル初年度120万、次年度60万円
個人じゃ買えないよね〜。でも金融機関や大手の分析BI系(統計やマイニング)は
ほとんどこのソフト。DBもETLもいらないんであとはExcelがあればいいという感じ。
このソフト入れると、DBはただの元データ置き場になっちゃって、皆これをDB代わり
にも使ってしまうことが多い。ただ高いので結構利用部門とか限定される事も多い。
個人じゃ買えないよね〜。でも金融機関や大手の分析BI系(統計やマイニング)は
ほとんどこのソフト。DBもETLもいらないんであとはExcelがあればいいという感じ。
このソフト入れると、DBはただの元データ置き場になっちゃって、皆これをDB代わり
にも使ってしまうことが多い。ただ高いので結構利用部門とか限定される事も多い。
148138
2018/10/31(水) 22:50:51.47ID:zoWehdgp ついでに、機械学習(マイニング・AI)専用のKNIME(これはフリー)で
同じこと(819万件20項目のCSV読み込みと2項目のクロス集計)をやってみた。
結果:3分48秒
PowerShell遅かったけど、十分実用性あると思うわ。
一般のツール使ったらやはり10分位はかかると思うんで。
同じこと(819万件20項目のCSV読み込みと2項目のクロス集計)をやってみた。
結果:3分48秒
PowerShell遅かったけど、十分実用性あると思うわ。
一般のツール使ったらやはり10分位はかかると思うんで。
149デフォルトの名無しさん
2018/11/01(木) 00:33:44.20ID:PBz6MbCm >>138
PowerShell は遅延実行だったのか
Ruby では、外部イタレータのEnumerator なら遅延実行になる
Enumeratorから、to_a して配列の実体を作ると、全部読み込まれてしまうから、
ずっと、Enumeratorを返すメソッドをチェーンしていって、最後にストリーム処理する
Java のStream とか、C# のLinq みたいな感じ
PowerShell は遅延実行だったのか
Ruby では、外部イタレータのEnumerator なら遅延実行になる
Enumeratorから、to_a して配列の実体を作ると、全部読み込まれてしまうから、
ずっと、Enumeratorを返すメソッドをチェーンしていって、最後にストリーム処理する
Java のStream とか、C# のLinq みたいな感じ
150デフォルトの名無しさん
2018/11/01(木) 01:13:45.19ID:c7Wqsl8P Powershellパフォーマンス計測やってたブログで
パイプラインは遅延実行でメモリ使用は少ないけど遅い
foreach(foreach-objectフィルタじゃなくてコマンドの方)はオブジェクトをメモリに読み込むからリソース使うけど速い
とかテストしていた所があった
ただ結構昔の記事だから最近のバージョンだと違うかも
パイプラインは遅延実行でメモリ使用は少ないけど遅い
foreach(foreach-objectフィルタじゃなくてコマンドの方)はオブジェクトをメモリに読み込むからリソース使うけど速い
とかテストしていた所があった
ただ結構昔の記事だから最近のバージョンだと違うかも
151デフォルトの名無しさん
2018/11/01(木) 06:23:45.61ID:mmcP2r/K152デフォルトの名無しさん
2018/11/01(木) 06:25:15.55ID:mmcP2r/K153デフォルトの名無しさん
2018/11/01(木) 09:18:53.50ID:xoDC1qBI 遅延実行とパイプラインは違うよ
遅延実行はオンデマンドの処理で、並行処理になるか一括実行になるかは無関係
イメージとしてはプロキシ
パイプは次を待たずに通常バッファリングされながら並行処理されるもの
イメージはCPUの命令パイプラインそのもの
遅延実行はオンデマンドの処理で、並行処理になるか一括実行になるかは無関係
イメージとしてはプロキシ
パイプは次を待たずに通常バッファリングされながら並行処理されるもの
イメージはCPUの命令パイプラインそのもの
154デフォルトの名無しさん
2018/11/01(木) 09:21:29.14ID:NMd92bWG >>151
確かここのサイト
http://tech.guitarrapc.com/entry/2013/03/09/010335
Powershell3.0での結果らしい
forとforeachとforeach-object(パイプライン使用)とかの比較
データサイズやら構造で違いはありそう
.foreach()メソッドでも動作は変わるらしい
foreachだけでコマンド、フィルター、メソッドと3種類あるとか自分にはついていけなかった
確かここのサイト
http://tech.guitarrapc.com/entry/2013/03/09/010335
Powershell3.0での結果らしい
forとforeachとforeach-object(パイプライン使用)とかの比較
データサイズやら構造で違いはありそう
.foreach()メソッドでも動作は変わるらしい
foreachだけでコマンド、フィルター、メソッドと3種類あるとか自分にはついていけなかった
155デフォルトの名無しさん
2018/11/01(木) 09:40:09.66ID:NMd92bWG156デフォルトの名無しさん
2018/11/01(木) 09:48:43.50ID:mmcP2r/K >>154
あ〜、これは今回の参考にならないかも
わたしも、ずっと似たような考えをしていたんですよ。
このサイトの例では、一度変数に入れてから、別な処理を
行うという処理なので、遅延実行がされていないです。
私がやったのは、コマンドレットをまたいで遅延実行を
してくれているのだと気が付いてやってみたという例なので。
あ〜、これは今回の参考にならないかも
わたしも、ずっと似たような考えをしていたんですよ。
このサイトの例では、一度変数に入れてから、別な処理を
行うという処理なので、遅延実行がされていないです。
私がやったのは、コマンドレットをまたいで遅延実行を
してくれているのだと気が付いてやってみたという例なので。
157デフォルトの名無しさん
2018/11/01(木) 19:18:42.62ID:qmW4m+8w158デフォルトの名無しさん
2018/11/01(木) 21:15:55.85ID:PBz6MbCm Ruby では、Enumerator::Lazy で、無限リストを遅延処理できる
(1..Float::INFINITY).lazy.map{ |n| n*2 }.first(5)
# => [2, 4, 6, 8, 10]
これをLazyなしだと、先に無限配列を実体化しようとして、フリーズする
(1..Float::INFINITY).map{ |n| n*2 }.first(5)
# => (実行が終わらない...)
(1..Float::INFINITY).lazy.map{ |n| n*2 }.first(5)
# => [2, 4, 6, 8, 10]
これをLazyなしだと、先に無限配列を実体化しようとして、フリーズする
(1..Float::INFINITY).map{ |n| n*2 }.first(5)
# => (実行が終わらない...)
159デフォルトの名無しさん
2018/11/01(木) 22:34:36.78ID:j6Caq374 >>158
Rubyの場合も、PowerShellのように、複数のモジュール(PowerShellの場合だとCmdletやスクリプト)をつなげば連動して遅延実行してくれるのでしょうか。
Rubyの方が遅延実行は先駆ということは書かれていたけど。
使うことはないけれども知識として。
Rubyの場合も、PowerShellのように、複数のモジュール(PowerShellの場合だとCmdletやスクリプト)をつなげば連動して遅延実行してくれるのでしょうか。
Rubyの方が遅延実行は先駆ということは書かれていたけど。
使うことはないけれども知識として。
160デフォルトの名無しさん
2018/11/01(木) 22:35:45.48ID:j6Caq374 その無限リストというのが、その話なのかな?
161158
2018/11/01(木) 23:09:51.35ID:PBz6MbCm Ruby では、内部イテレータのEnumerable と、外部イテレータのEnumerator がある
Enumeratorをメソッドチェーンしている間は、リストが実体化されないから、
Enumeratorで続けていって、最後に実体化する
内部イテレータは、イテレータ自身が繰り返し制御を行う。
一方、外部イテレータは、ユーザーが繰り返し制御を行う
外部イテレータでは、2つの配列を1つずつ進めたり、カスタマイズできる
Enumeratorをメソッドチェーンしている間は、リストが実体化されないから、
Enumeratorで続けていって、最後に実体化する
内部イテレータは、イテレータ自身が繰り返し制御を行う。
一方、外部イテレータは、ユーザーが繰り返し制御を行う
外部イテレータでは、2つの配列を1つずつ進めたり、カスタマイズできる
162デフォルトの名無しさん
2018/11/01(木) 23:16:50.68ID:j6Caq374 C#と同じような感じだね
今回はPowerShellで遅延実行すると同じく
実体化されずに次の処理に渡ることが分かったので
こんどはコマンドレットを作ってみようと思う。
今回はPowerShellで遅延実行すると同じく
実体化されずに次の処理に渡ることが分かったので
こんどはコマンドレットを作ってみようと思う。
163デフォルトの名無しさん
2018/11/02(金) 19:41:44.34ID:mjKfpvc8 19,000,000件、20項目のCSVをimpo-csvで読んで、
group-objectで8x8のクロス集計したら
どうも読んでいる途中でおかしくなったようだ。
原因を探らんと・・・・。
800万件では問題なかったんだが。
group-objectで8x8のクロス集計したら
どうも読んでいる途中でおかしくなったようだ。
原因を探らんと・・・・。
800万件では問題なかったんだが。
164デフォルトの名無しさん
2018/11/02(金) 22:59:49.69ID:KoqyjIsr インポならオマエのチンポがおかしい
165デフォルトの名無しさん
2018/11/03(土) 21:38:47.42ID:0juc4OvK 遅延実行と聞くとコマンドプロンプトのforが思い浮かぶね
しかし遅延実行じゃなくて困ったことはあるがその逆は無い
遅延実行じゃないほうって何かメリットあるの?
しかし遅延実行じゃなくて困ったことはあるがその逆は無い
遅延実行じゃないほうって何かメリットあるの?
166デフォルトの名無しさん
2018/11/04(日) 01:00:07.52ID:EZKDDV0E 遅延実行もsetlocalのオプションで即時展開できるやん
167デフォルトの名無しさん
2018/11/07(水) 16:26:31.91ID:64s9hY5n リモートデスクトップ接続元がわかる方法ないかな?
クライアントPC名、ログインユーザー名、ipを見たいんだけど…
調べたらPSTerminalServicesってモジュールで出来るらしい記事があったんだけどもうインストーラー配布してないみたいで手詰まりです。
クライアントPC名、ログインユーザー名、ipを見たいんだけど…
調べたらPSTerminalServicesってモジュールで出来るらしい記事があったんだけどもうインストーラー配布してないみたいで手詰まりです。
168デフォルトの名無しさん
2018/11/07(水) 16:30:58.01ID:Y6Npd9Sa それPowershellと関係ないだろ
169デフォルトの名無しさん
2018/11/07(水) 16:33:27.61ID:64s9hY5n すいませんでした
170デフォルトの名無しさん
2018/11/07(水) 17:01:30.70ID:lW8FLp9M >>167
https://powershelladministrator.com/2015/12/01/get-logged-on-users-and-sessions/
Get-RDUserSession |fl *
で拾えるとは思うから接続元プロパティ名わかったらselect-object UserName,(接続元のプロパティ名)
とかやってみて
https://powershelladministrator.com/2015/12/01/get-logged-on-users-and-sessions/
Get-RDUserSession |fl *
で拾えるとは思うから接続元プロパティ名わかったらselect-object UserName,(接続元のプロパティ名)
とかやってみて
171デフォルトの名無しさん
2018/11/07(水) 17:04:41.31ID:64s9hY5n172デフォルトの名無しさん
2018/11/07(水) 17:04:49.71ID:lW8FLp9M >>168
PowershellとWindowsサービス管理用コマンドレットは関係有りまくり
PowershellとWindowsサービス管理用コマンドレットは関係有りまくり
173デフォルトの名無しさん
2018/11/07(水) 19:32:24.46ID:5rQxDZaK たしかに
もともと、PowerShellが出てきた目的の世界だね
もともと、PowerShellが出てきた目的の世界だね
174デフォルトの名無しさん
2018/11/07(水) 21:28:10.26ID:0cfzNL20 でもここはプログラム板なので
175デフォルトの名無しさん
2018/11/07(水) 21:30:12.65ID:M3d0NYL/ >>174
Windows板にこのスレがない時点で意味ない
Windows板にこのスレがない時点で意味ない
176デフォルトの名無しさん
2018/11/08(木) 06:31:15.25ID:zJM3NQZE Windows PowerShell Part5 https://mevius.5ch.net/test/read.cgi/win/1474175184/
177デフォルトの名無しさん
2018/11/09(金) 13:01:36.92ID:V62EYj3k FizzBuzz 42文字でかけた
1..100|%{"$_`r"+{fizz}[$_%3]+{buzz}[$_%5]}
1..100|%{"$_`r"+{fizz}[$_%3]+{buzz}[$_%5]}
178デフォルトの名無しさん
2018/11/09(金) 20:47:10.72ID:V62EYj3k179デフォルトの名無しさん
2018/11/11(日) 03:17:15.29ID:v3JXSoAX >>177
シンプルで美しい
シンプルで美しい
180デフォルトの名無しさん
2018/11/11(日) 07:15:18.30ID:tAZC+CW3 スクリプトブロックに[0]添字で値参照て技があるのか配列なら分かるけどなんか不思議
181デフォルトの名無しさん
2018/11/11(日) 10:05:51.56ID:3JRsWB+V PowerShellは配列の扱いがかなり独特
単なる数値でも配列扱いすると要素1つだけの配列みたいに振舞う
$a = 1
$a[0] ⇒ 1
$a[1] ⇒ $null
まあ>>177はよく思いついたなって思う
単なる数値でも配列扱いすると要素1つだけの配列みたいに振舞う
$a = 1
$a[0] ⇒ 1
$a[1] ⇒ $null
まあ>>177はよく思いついたなって思う
182デフォルトの名無しさん
2018/11/11(日) 10:15:59.49ID:xoHShG4l まず{fizz}が文字列になるという部分から読めなかった
183デフォルトの名無しさん
2018/11/11(日) 12:45:53.82ID:xpOIALoe バグみたいな仕様だな
バグだな
バグだな
184デフォルトの名無しさん
2018/11/11(日) 15:05:07.40ID:msMOLK59 powershell -v 2だと動かないな
PowerShell 3.0で配列じゃない変数も要素を取得できるようになったから動く
バグではないっぽい
PowerShell 3.0で配列じゃない変数も要素を取得できるようになったから動く
バグではないっぽい
185デフォルトの名無しさん
2018/11/11(日) 18:49:56.37ID:/HpWdlpY スクリプトブロックでしょ
186デフォルトの名無しさん
2018/11/11(日) 19:06:06.81ID:Fk6I1vC1 事務の仕事で、ファイル処理とかテキスト処理のため、たまにPowerShellを使ってます
挙動の予測ができずトライアンドエラーをする機会がVBAなどより少し多くて
素人にはちょっと難しいのかなあと思ってたのですが
理解不能な技>>177を見て、使いこなせる自信がますます無くなりました
挙動の予測ができずトライアンドエラーをする機会がVBAなどより少し多くて
素人にはちょっと難しいのかなあと思ってたのですが
理解不能な技>>177を見て、使いこなせる自信がますます無くなりました
187デフォルトの名無しさん
2018/11/11(日) 19:37:24.70ID:xpOIALoe188デフォルトの名無しさん
2018/11/11(日) 19:39:58.14ID:JFNgNrbU スクリプトブロックを文字列にキャストすると中身が実行されずに中のコードがそのまま文字列になる
つまり [string]{ fizz } が暗黙になされてるだけ
つまり [string]{ fizz } が暗黙になされてるだけ
189デフォルトの名無しさん
2018/11/11(日) 20:33:31.13ID:tAZC+CW3 その説明もピンと来ないが
&[fizz] や $hoge={Fizz};&$hoge
とすればちゃんとエラーになる。
未実行のスクリプトブロックは一種のヒア文字列扱いとなるということなんだろうか…
&[fizz] や $hoge={Fizz};&$hoge
とすればちゃんとエラーになる。
未実行のスクリプトブロックは一種のヒア文字列扱いとなるということなんだろうか…
190デフォルトの名無しさん
2018/11/11(日) 20:34:21.67ID:tAZC+CW3 &{fizz} だったすまん
191デフォルトの名無しさん
2018/11/11(日) 20:43:37.28ID:tAZC+CW3 powershell -v 2のエラーメッセージ
"型 System.Management.Automation.ScriptBlock のオブジェクトにインデックスを付けることはできません。"
わかるw
"型 System.Management.Automation.ScriptBlock のオブジェクトにインデックスを付けることはできません。"
わかるw
192デフォルトの名無しさん
2018/11/11(日) 21:03:13.85ID:xpOIALoe { abc def ghi} #=> abc def ghi
なんか{}でかこまれた部分がそのまま文字列になってる
なにこれぇ
なんか{}でかこまれた部分がそのまま文字列になってる
なにこれぇ
193デフォルトの名無しさん
2018/11/11(日) 21:26:24.30ID:v3JXSoAX 1..100|%{"$_`r"+{fizz}[$_%3]+{buzz}[$_%5]}
1..100 # 範囲演算子で1から100までのint[]を生成
| # パイプ演算子
% # Foreach-Object
{ # スクリプトブロック開始(%の引数)
" # 文字列開始(二重引用符の中ではエスケープシーケンスが展開される)
$_ # パイプラインの入力を受け取る自動変数
`r # Carriage returnのエスケープシーケンス。後に続く文字で前の文字を上書きする(なにもない場合上書き無し)
" # 文字列終了→string型
+ # 加算演算子(左辺がstring型なので右辺をstring型にキャストする)
{ # スクリプトブロック開始
fizz # コマンド/関数名fizzとして解釈されるがスクリプトブロック内なので実行されない
} # スクリプトブロック終了→ScriptBlock型
[ # []演算子で左辺を要素数1の配列としてアクセスする。
$_%3 # 配列のインデックス。%(剰余)演算子でパイプラインの入力$_を3で割る
] # 上の結果が0(→3の倍数)の場合のみスクリプトブロックの要素にアクセス、1以上の場合$null
+ # 加算演算子(左辺がstring型なので右辺をstring型にキャストする)。
{buzz}[$_%5] # fizzと同じ。結果としてstringが評価されコンソールに出力される
} #スクリプトブロック終了。
1..100 # 範囲演算子で1から100までのint[]を生成
| # パイプ演算子
% # Foreach-Object
{ # スクリプトブロック開始(%の引数)
" # 文字列開始(二重引用符の中ではエスケープシーケンスが展開される)
$_ # パイプラインの入力を受け取る自動変数
`r # Carriage returnのエスケープシーケンス。後に続く文字で前の文字を上書きする(なにもない場合上書き無し)
" # 文字列終了→string型
+ # 加算演算子(左辺がstring型なので右辺をstring型にキャストする)
{ # スクリプトブロック開始
fizz # コマンド/関数名fizzとして解釈されるがスクリプトブロック内なので実行されない
} # スクリプトブロック終了→ScriptBlock型
[ # []演算子で左辺を要素数1の配列としてアクセスする。
$_%3 # 配列のインデックス。%(剰余)演算子でパイプラインの入力$_を3で割る
] # 上の結果が0(→3の倍数)の場合のみスクリプトブロックの要素にアクセス、1以上の場合$null
+ # 加算演算子(左辺がstring型なので右辺をstring型にキャストする)。
{buzz}[$_%5] # fizzと同じ。結果としてstringが評価されコンソールに出力される
} #スクリプトブロック終了。
194デフォルトの名無しさん
2018/11/11(日) 21:55:09.88ID:JFNgNrbU >>189
単にスクリプトブロック型のオブジェクトが中身の生コードを持ってるだけやろ
{fizz}.ToString() しても同じ
ToString()でどういう値を返すかはオブジェクトの種類によって違う
&やコンマやInvokeしたときに初めてスクリプトブロック型オブジェクトが持ってるコードが評価される
単にスクリプトブロック型のオブジェクトが中身の生コードを持ってるだけやろ
{fizz}.ToString() しても同じ
ToString()でどういう値を返すかはオブジェクトの種類によって違う
&やコンマやInvokeしたときに初めてスクリプトブロック型オブジェクトが持ってるコードが評価される
195デフォルトの名無しさん
2018/11/11(日) 22:21:33.88ID:JFNgNrbU ちょっと舌足らずだった
スクリプトブロック型はToString()したときに
内部に文字列としてもってる生コードを返すってことが言いたかった
実際ソースを読んでるわけじゃないけど
スクリプトブロック型はToString()したときに
内部に文字列としてもってる生コードを返すってことが言いたかった
実際ソースを読んでるわけじゃないけど
196デフォルトの名無しさん
2018/11/11(日) 23:20:57.99ID:xpOIALoe スクリプトブロックは&で評価されるまで中身何もチェックされないみたいですね
一応動作は理解しましたがなんていい加減な言語なんだろ
こんなのどこにも書いてないし今後仕様変わる可能性はありそうですね
ありがとうございました
一応動作は理解しましたがなんていい加減な言語なんだろ
こんなのどこにも書いてないし今後仕様変わる可能性はありそうですね
ありがとうございました
197デフォルトの名無しさん
2018/11/12(月) 00:58:57.83ID:3c4TyDT9 こんなのは常識的に理解できる範囲や
パイプラインを考慮した関数をちゃんと作ろうと思ったら頭おかしなるで
パイプラインを考慮した関数をちゃんと作ろうと思ったら頭おかしなるで
198デフォルトの名無しさん
2018/11/12(月) 06:17:57.42ID:gZOE16Sc >>193
たいへんに、ありがとうごわす
たいへんに、ありがとうごわす
199デフォルトの名無しさん
2018/11/12(月) 20:33:57.05ID:kM9Cc8DJ まさにシェル芸
200デフォルトの名無しさん
2018/11/12(月) 20:51:57.60ID:ZJicw3nv しかし、以前に比べて
投稿される内容が良くなってきたね
かつては『○○と比べてなんら』とか
そういう投稿ばかりだったもんね。
投稿される内容が良くなってきたね
かつては『○○と比べてなんら』とか
そういう投稿ばかりだったもんね。
201デフォルトの名無しさん
2018/11/12(月) 21:10:04.82ID:AMbuBroP シェル芸ならこんなところ
seq 100|sed 's/.*5$/Buzz/;3~3s/[0-9]*/Fizz/'
seq 100|sed 's/.*5$/Buzz/;3~3s/[0-9]*/Fizz/'
202デフォルトの名無しさん
2018/11/12(月) 23:49:46.46ID:ZJicw3nv どちらにしても、見てもわからないね
203デフォルトの名無しさん
2018/11/13(火) 05:49:15.96ID:xWZc78Mp 知恵を絞って短縮コードを目指すから、理解容易ではないのはまあ仕方ない
204デフォルトの名無しさん
2018/11/13(火) 08:37:24.02ID:6YAdmBBQ 3.0からの文法でできるならだれか思いついてそうだったけど検索しても出てこないな
Anarchy GolfにはPowerShell無いし、StackExchangeで58byte、牟田口氏のコードで51byte
いろいろテクニックが載ってて面白い
what is your fave PoSh version of FizzBuzz? : PowerShell
https://www.reddit.com/r/PowerShell/comments/6r06hg/what_is_your_fave_posh_version_of_fizzbuzz/
code golf - Tips for golfing in PowerShell - Programming Puzzles & Code Golf Stack Exchange
https://codegolf.stackexchange.com/questions/191/tips-for-golfing-in-powershell?page=2&tab=votes#tab-top
Anarchy GolfにはPowerShell無いし、StackExchangeで58byte、牟田口氏のコードで51byte
いろいろテクニックが載ってて面白い
what is your fave PoSh version of FizzBuzz? : PowerShell
https://www.reddit.com/r/PowerShell/comments/6r06hg/what_is_your_fave_posh_version_of_fizzbuzz/
code golf - Tips for golfing in PowerShell - Programming Puzzles & Code Golf Stack Exchange
https://codegolf.stackexchange.com/questions/191/tips-for-golfing-in-powershell?page=2&tab=votes#tab-top
205デフォルトの名無しさん
2018/11/13(火) 18:05:14.16ID:hYk6FFU0 IDがバーベキューだね
206デフォルトの名無しさん
2018/11/14(水) 08:50:21.40ID:PFpyL5+w PowerShell Core 6.1.0で日本語が正しく表示されない現象について
https://blog.shibata.tech/entry/2018/11/13/202031
https://blog.shibata.tech/entry/2018/11/13/202031
207デフォルトの名無しさん
2018/11/14(水) 09:25:00.49ID:JBsUV7Ak208デフォルトの名無しさん
2018/11/14(水) 14:34:06.24ID:REddJKuq PowerShell で全角文字を入力すると表示がおかしくなる問題について
https://blogs.technet.microsoft.com/askcorejp/2018/11/14/powershell-で全角文字を入力すると表示がおかしくなる問/
https://blogs.technet.microsoft.com/askcorejp/2018/11/14/powershell-で全角文字を入力すると表示がおかしくなる問/
209デフォルトの名無しさん
2018/11/14(水) 20:33:58.55ID:JBsUV7Ak ISEは問題ないのに、普通のシェルがダメって何年放置されてるのだろう?
210デフォルトの名無しさん
2018/11/14(水) 21:42:06.99ID:wbqNTVov VSCodeでPowershellの色寂しくなった
211デフォルトの名無しさん
2018/11/15(木) 00:08:24.89ID:WLDbhFjW >>209
2か月じゃないか?
2か月じゃないか?
212デフォルトの名無しさん
2018/11/15(木) 00:38:25.77ID:RLOkjNth 何年も放置されてるぞ
213デフォルトの名無しさん
2018/11/15(木) 00:41:50.91ID:WLDbhFjW214デフォルトの名無しさん
2018/11/15(木) 04:26:11.58ID:eQKfIPvp >>208はデスクトップ版Powershellの話Win10が出て3年かな
215デフォルトの名無しさん
2018/11/15(木) 10:35:40.03ID:3jZ436MI オプションを展開させるうまい方法ってありますか?
たとえば、-WhatIfを付ける/付けないを場合分けしたいときなど。
HogeCmd fuga piyo $whatif
とやると、$whatifは普通の引数になってしまうのでNG。
eval方式(コマンド全体を文字列にしてInvoke-Expressionで呼び出す)もあるけれど、
できれば、オプションのところだけうまいこと展開できればいいな、と。
たとえば、-WhatIfを付ける/付けないを場合分けしたいときなど。
HogeCmd fuga piyo $whatif
とやると、$whatifは普通の引数になってしまうのでNG。
eval方式(コマンド全体を文字列にしてInvoke-Expressionで呼び出す)もあるけれど、
できれば、オプションのところだけうまいこと展開できればいいな、と。
216デフォルトの名無しさん
2018/11/15(木) 13:52:20.43ID:94uNwBee スプラッティングでやるのが普通かな
217デフォルトの名無しさん
2018/11/15(木) 15:12:55.02ID:8dkxddcr >>216
それ何?
それ何?
218デフォルトの名無しさん
2018/11/15(木) 15:25:38.96ID:VchA8nRa >>216
横からだが、スプラッティングというものを初めて知って非常に参考になった。ありがとう。
横からだが、スプラッティングというものを初めて知って非常に参考になった。ありがとう。
219デフォルトの名無しさん
2018/11/15(木) 16:00:23.13ID:4BqFdJaY220デフォルトの名無しさん
2018/11/15(木) 17:07:06.05ID:n3jFLh1o >>216
サンクス
サンクス
221デフォルトの名無しさん
2018/11/15(木) 21:27:16.74ID:cJYjGYCA スプラッタのスプラッタ
222デフォルトの名無しさん
2018/11/15(木) 22:18:43.81ID:sPg3U71k223デフォルトの名無しさん
2018/11/16(金) 05:17:03.39ID:7vBGbpbo スプラピスプラッタ
224デフォルトの名無しさん
2018/11/16(金) 10:51:17.32ID:0JdshTdX Announcing General Availability of the Windows Compatibility Module 1.0.0
https://blogs.msdn.microsoft.com/powershell/2018/11/15/announcing-general-availability-of-the-windows-compatibility-module-1-0-0/
https://blogs.msdn.microsoft.com/powershell/2018/11/15/announcing-general-availability-of-the-windows-compatibility-module-1-0-0/
225デフォルトの名無しさん
2018/11/16(金) 17:17:39.49ID:h/lypBab 実行ユーザーがSYSTEMな場合の
COMオブジェクト利用がうまくいかないのは回避策ないでしょうか
COMオブジェクト利用がうまくいかないのは回避策ないでしょうか
226デフォルトの名無しさん
2018/11/16(金) 22:04:34.76ID:bUstU+hr v6.1.1 Release of PowerShell Core
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.1
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.1
227デフォルトの名無しさん
2018/11/16(金) 22:06:57.09ID:bUstU+hr v6.0.5 Release of PowerShell Core
https://github.com/PowerShell/PowerShell/releases/tag/v6.0.5
https://github.com/PowerShell/PowerShell/releases/tag/v6.0.5
228デフォルトの名無しさん
2018/11/16(金) 22:55:21.07ID:6qpmN5uX 資格情報・認証とか?
「powershell 資格情報」で検索して
「powershell 資格情報」で検索して
229デフォルトの名無しさん
2018/11/17(土) 06:13:16.64ID:bZFmP2aX230デフォルトの名無しさん
2018/11/17(土) 07:39:47.70ID:tSr/NeZx231デフォルトの名無しさん
2018/11/17(土) 07:47:24.60ID:gKTWKNrR タスクスケジューラで動かしたいのかも。いずれにせよ具体例を書いて欲しいものだ
232デフォルトの名無しさん
2018/11/18(日) 00:15:47.54ID:L8Gt0pA8 >>221
スプラッターハウス以外思い浮かばないw
スプラッターハウス以外思い浮かばないw
233デフォルトの名無しさん
2018/11/19(月) 16:50:05.08ID:g2+fQFFI WindowsCompatibilityモジュール試してみたけどFormat-table用の情報とか無いから一部コマンドレットの表示が微妙
いちいちモジュール読み込まんとダメだし
いちいちモジュール読み込まんとダメだし
234デフォルトの名無しさん
2018/11/19(月) 17:10:55.17ID:9fApbElg >>233
Fomat-Table、モジュールなしだと使えなかったの?
Fomat-Table、モジュールなしだと使えなかったの?
235デフォルトの名無しさん
2018/11/19(月) 19:27:11.18ID:xl/gDTc+ >>234
いや、そこまでの問題じゃない
Format-Tableで優先表示するプロパティ情報がないだけ
Format-Tableしても要らんプロパティがでてきたりする
Select-objectとかしてあげれば問題ないよ
いや、そこまでの問題じゃない
Format-Tableで優先表示するプロパティ情報がないだけ
Format-Tableしても要らんプロパティがでてきたりする
Select-objectとかしてあげれば問題ないよ
236デフォルトの名無しさん
2018/11/19(月) 19:59:58.22ID:Qq88xGOU 暗黙のWrite-Host|ft
が効かず、明示的に書かんどダメな感じ?
が効かず、明示的に書かんどダメな感じ?
237デフォルトの名無しさん
2018/11/19(月) 21:26:04.01ID:Gl33OQrV 投稿がまともになってきた
238デフォルトの名無しさん
2018/11/23(金) 16:20:10.48ID:5fd0Mgpu Effective PowerShell的な本ってないの?
普段、使う分には問題なく使えてると思う
でもより上手い書き方があるのでは、良いコーディング習慣を守れてるだろうか、と自問自答すると自信を持てない
人に見せるものでもなく、人のを見る機会もないからどうしても自己流になってしまう
普段、使う分には問題なく使えてると思う
でもより上手い書き方があるのでは、良いコーディング習慣を守れてるだろうか、と自問自答すると自信を持てない
人に見せるものでもなく、人のを見る機会もないからどうしても自己流になってしまう
239デフォルトの名無しさん
2018/11/23(金) 22:10:45.37ID:ZSsoDLJq240デフォルトの名無しさん
2018/11/23(金) 22:36:58.28ID:b8tU0Ani 文法詳説はこの前出た貝殻本が扱ってたけど
読みにくい(演算子の説明が130ページくらいから始まる)
読みにくい(演算子の説明が130ページくらいから始まる)
241デフォルトの名無しさん
2018/11/24(土) 01:01:38.61ID:sK2Z8lS/ バイナリモジュールの情報少ないよなあ
github漁ってもあんまりないし
コマンドレット内でGet-Item呼び出す方法探すだけでだいぶ苦労した
結局ダサいやり方になったけど
github漁ってもあんまりないし
コマンドレット内でGet-Item呼び出す方法探すだけでだいぶ苦労した
結局ダサいやり方になったけど
242デフォルトの名無しさん
2018/11/24(土) 02:06:29.51ID:mWKK19aP powershell深いなあ。深すぎてちょっと目眩する時がある
243デフォルトの名無しさん
2018/11/24(土) 03:37:58.44ID:BKTpjWqm get-netadapterとか見たいに複数の結果を返すようなクラスが作りたいんだけど
どんな感じで書けばいいん?
思い浮かばねえorz
どんな感じで書けばいいん?
思い浮かばねえorz
244デフォルトの名無しさん
2018/11/24(土) 03:58:00.19ID:wk1txPAQ245デフォルトの名無しさん
2018/11/24(土) 04:04:11.42ID:BKTpjWqm246デフォルトの名無しさん
2018/11/24(土) 05:43:08.48ID:wk1txPAQ >>245
まず作りたいのはクラスじゃなくてFunction(関数)かメソッドかコマンドレット(外部関数)だよね?
クラスは型であって入力と出力を持つものでは無いし
Get-netadapterも含めて一般的なコマンドレットの出力型は配列で
配列の各要素がクラスになってる
Get-netadapterの結果に編集を加える場合、
入力された値をforeach等で分解して
クラスにAdd-member等で要素(プロパティとか)を加えて毎回出力するとかする
もしくは配列の各要素がPSCustomObjectクラスの変数を作って
それを出力するとかする
サンプルに丁度よい関数とかあればいいけど一端探すのめんどいから割愛
Add-memberとかクラスのメンバーについてはググって調べて下さいな
まず作りたいのはクラスじゃなくてFunction(関数)かメソッドかコマンドレット(外部関数)だよね?
クラスは型であって入力と出力を持つものでは無いし
Get-netadapterも含めて一般的なコマンドレットの出力型は配列で
配列の各要素がクラスになってる
Get-netadapterの結果に編集を加える場合、
入力された値をforeach等で分解して
クラスにAdd-member等で要素(プロパティとか)を加えて毎回出力するとかする
もしくは配列の各要素がPSCustomObjectクラスの変数を作って
それを出力するとかする
サンプルに丁度よい関数とかあればいいけど一端探すのめんどいから割愛
Add-memberとかクラスのメンバーについてはググって調べて下さいな
247デフォルトの名無しさん
2018/11/24(土) 09:11:34.28ID:kuH8s62I この手の話題でクラスとインスタンスの区別をせずに語られるとすごくモヤモヤする
248デフォルトの名無しさん
2018/11/24(土) 12:12:31.33ID:+C2yOPuj PSVersion 5.1.17763.134
PSEdition Desktop
で Windows.Forms.Timer がちゃんと動いてくれぬ
Tickイベント内の変数の変更を保持してくれない?
PSEdition Desktop
で Windows.Forms.Timer がちゃんと動いてくれぬ
Tickイベント内の変数の変更を保持してくれない?
249デフォルトの名無しさん
2018/11/24(土) 12:54:26.03ID:BKTpjWqm >>246
ごめん、違う
ごめん、違う
250デフォルトの名無しさん
2018/11/24(土) 13:22:16.60ID:BKTpjWqm 途中で切れてしまった
コンストラクタに引数設定できるでしょ
その引数にget-netadapterの結果みたいなのを使う
で、その値で各プロパティの初期値みたいなのをセット
各引数付きのメソッドを実行すると、引数とプロパティを処理した結果を返すんだけども
get-netadapterみたいに複数がコンストラクタのインプットになるから、どうしたもんかと
やっぱ、無理なのかな
コンストラクタに引数設定できるでしょ
その引数にget-netadapterの結果みたいなのを使う
で、その値で各プロパティの初期値みたいなのをセット
各引数付きのメソッドを実行すると、引数とプロパティを処理した結果を返すんだけども
get-netadapterみたいに複数がコンストラクタのインプットになるから、どうしたもんかと
やっぱ、無理なのかな
251デフォルトの名無しさん
2018/11/24(土) 13:44:41.51ID:QuuVAkmI UTF-8を標準出力に出力するexeの結果を処理したいのですが
特定の文字が入っていると文字コード変換に失敗します
例えば以下の文字列はこのように文字化けします
「ホスト#01」⇒「ホスチE01」
「ホスト02」⇒「ホスチE2」
正しくPowerShellで扱える文字列に直す方法をアドバイスいただけないでしょうか
## ソース
$src = [System.Text.Encoding]::UTF8
$dst = [System.Text.Encoding]::Default
$test = & 'C:\test\UTF8.exe'
$bytes = $dst.GetBytes($test)
$result = $dst.GetString([System.Text.Encoding]::Convert($src,$dst,$bytes))
UTF-8を標準出力に出力するサンプルexe(C#)
Console.OutputEncoding = new UTF8Encoding();
Console.WriteLine("ホスト#01\r\nホスト02");
特定の文字が入っていると文字コード変換に失敗します
例えば以下の文字列はこのように文字化けします
「ホスト#01」⇒「ホスチE01」
「ホスト02」⇒「ホスチE2」
正しくPowerShellで扱える文字列に直す方法をアドバイスいただけないでしょうか
## ソース
$src = [System.Text.Encoding]::UTF8
$dst = [System.Text.Encoding]::Default
$test = & 'C:\test\UTF8.exe'
$bytes = $dst.GetBytes($test)
$result = $dst.GetString([System.Text.Encoding]::Convert($src,$dst,$bytes))
UTF-8を標準出力に出力するサンプルexe(C#)
Console.OutputEncoding = new UTF8Encoding();
Console.WriteLine("ホスト#01\r\nホスト02");
252デフォルトの名無しさん
2018/11/24(土) 14:43:41.10ID:2Kjdv9to >UTF-8を標準出力
でぐぐったら
>これで、UTF-8 を使うアプリとの連携もばっちりだ。
そうだ
でぐぐったら
>これで、UTF-8 を使うアプリとの連携もばっちりだ。
そうだ
253デフォルトの名無しさん
2018/11/24(土) 14:43:42.28ID:+C2yOPuj >>251
PowerShellの内部でのエンコードはたしかUTF16じゃないかな
PowerShellの内部でのエンコードはたしかUTF16じゃないかな
254デフォルトの名無しさん
2018/11/24(土) 16:43:37.74ID:QuuVAkmI255デフォルトの名無しさん
2018/11/25(日) 01:27:52.64ID:bdma9Nzw 文字コードなど、考えたこともない。
UTF-8 しか使わないし
どのOS・アプリでも内部的には、UTF-16 だろうけど、これを扱うことなどない
UTF-8 しか使わないし
どのOS・アプリでも内部的には、UTF-16 だろうけど、これを扱うことなどない
256デフォルトの名無しさん
2018/11/25(日) 01:44:12.14ID:fZE2Z+wN257デフォルトの名無しさん
2018/11/25(日) 10:54:09.80ID:Vpi5v0vn PowerShellの変数ってちゃんと型指定したほうがいいの?
258デフォルトの名無しさん
2018/11/25(日) 19:55:30.63ID:aKGD81aI パフォーマンス気にして型変換するなら、Powershell使うこと自体が不適
通常は勝手に型変換しないように型付ける
v3のビットシフト演算子が勝手にbyte型をint型にキャストするのマジ糞
通常は勝手に型変換しないように型付ける
v3のビットシフト演算子が勝手にbyte型をint型にキャストするのマジ糞
259デフォルトの名無しさん
2018/11/25(日) 19:55:52.89ID:aKGD81aI >>258
パフォーマンス気にして型「指定」だわ
パフォーマンス気にして型「指定」だわ
260デフォルトの名無しさん
2018/11/25(日) 20:30:16.12ID:dc9uTwTH powershellにintegral promotionは定義されてないのか
261デフォルトの名無しさん
2018/11/25(日) 21:22:56.96ID:XYd2EWob 未だにバッチをメインで使っている
ぼちぼちPowerShellメインに変えようかと思っているんだが
WSHもどうか?とおもったり
もうWSHは終わりで、PowerShellが延びると思っていて良い?
ぼちぼちPowerShellメインに変えようかと思っているんだが
WSHもどうか?とおもったり
もうWSHは終わりで、PowerShellが延びると思っていて良い?
262デフォルトの名無しさん
2018/11/25(日) 23:19:09.06ID:NeSEBBpr VBScriptはちょっとオワコン感出てきたけど、WSH自体はJavaScriptがデフォルトで使えるのでしぶとく残りそう
263デフォルトの名無しさん
2018/11/25(日) 23:34:35.24ID:tkP11man >>261
標準で備わってる機能面でwshはPowershellに比べて貧弱だよ
Powershellだとcsv読み込むとかjson処理するとかコマンドレットで用意されてるけどwshだとそれなりのコード書かないと出来ないし
ループ周りもパイプラインに比べると冗長になりがち
ただwshの方がシンプルで学習は楽、Powershellは複雑な部分が多い
学習コストはPythonより高い気がする
標準で備わってる機能面でwshはPowershellに比べて貧弱だよ
Powershellだとcsv読み込むとかjson処理するとかコマンドレットで用意されてるけどwshだとそれなりのコード書かないと出来ないし
ループ周りもパイプラインに比べると冗長になりがち
ただwshの方がシンプルで学習は楽、Powershellは複雑な部分が多い
学習コストはPythonより高い気がする
264デフォルトの名無しさん
2018/11/25(日) 23:48:06.15ID:tkP11man PowershellはMS系クラウドサービスの管理シェルとして伸びるかな
バッチもwshも消えなそうだけど今後の伸びは無さそう
バッチもwshも消えなそうだけど今後の伸びは無さそう
265デフォルトの名無しさん
2018/11/26(月) 02:18:11.89ID:beMkVqx1 手を広げ過ぎて仕様が複雑というより単に雑な印象がある
266デフォルトの名無しさん
2018/11/26(月) 02:57:13.19ID:gMbJcsFf 学習コスト高いというか体系的にまとまった書籍等無いからよくわからずに動く状態になる(配列とか)
Pythonのようにすんなり上達するのではなくて、ある程度学ぶとかえってわからなくなるの繰り返し
それでも今更wshやるよりはいいはず
Pythonのようにすんなり上達するのではなくて、ある程度学ぶとかえってわからなくなるの繰り返し
それでも今更wshやるよりはいいはず
267デフォルトの名無しさん
2018/11/26(月) 03:29:58.94ID:x+j35ljp PowerShellだと学習コストは高いけど
よく使うコマンドレットがそろってる
WSHだとJavaScriptで書けるけど
自作ライブラリみたいの書く手間はある
微妙な勝負だけど今から始めるならもう
Poshを使ってしまった方が良いと思う
よく使うコマンドレットがそろってる
WSHだとJavaScriptで書けるけど
自作ライブラリみたいの書く手間はある
微妙な勝負だけど今から始めるならもう
Poshを使ってしまった方が良いと思う
268デフォルトの名無しさん
2018/11/26(月) 08:10:27.64ID:8ZmTpMnp269デフォルトの名無しさん
2018/11/27(火) 02:30:28.91ID:tmYINXAW 未だにバッチでこと足りてしまう管理業務というのが想像できない。
270デフォルトの名無しさん
2018/11/27(火) 07:41:39.02ID:WLNYjP7B VBSはバリバリ現役よ
うちの社内システム開発・運用は全てVBS
無料であり
バッチファイルより遥かに強力で
仕様が枯れていてVerUPに振り回されることがなく
Javaのように一企業の思惑でライセンス問題が発生することもない神言語
PowerShellはerUPが止まり仕様が枯れるまでは採用しない
うちの社内システム開発・運用は全てVBS
無料であり
バッチファイルより遥かに強力で
仕様が枯れていてVerUPに振り回されることがなく
Javaのように一企業の思惑でライセンス問題が発生することもない神言語
PowerShellはerUPが止まり仕様が枯れるまでは採用しない
271デフォルトの名無しさん
2018/11/27(火) 07:53:06.65ID:wHi5iJt/ >>270
WIN10のストアアプリの削除もVBSで出来るの?
WIN10のストアアプリの削除もVBSで出来るの?
272デフォルトの名無しさん
2018/11/27(火) 08:04:37.56ID:WLNYjP7B >>271
うちはWin7
うちはWin7
273デフォルトの名無しさん
2018/11/27(火) 09:20:49.19ID:pR/1ZC3V Win7はあと1年ちょいでサポート終了だしな
その後はWin10のPowershell5.1で標準化するでしょ
今のPowershellは2.0が残ってるのがガンになってる気がする
その後はWin10のPowershell5.1で標準化するでしょ
今のPowershellは2.0が残ってるのがガンになってる気がする
274デフォルトの名無しさん
2018/11/27(火) 09:48:14.11ID:PCREN6ZT >>270
Windows PowerShellはとっくにバージョンアップ止まってるんだが何が不満なんだ
Windows PowerShellはとっくにバージョンアップ止まってるんだが何が不満なんだ
275デフォルトの名無しさん
2018/11/27(火) 13:25:38.77ID:n8g+btBw >>270
5.1がWinにおける最終バージョンだろ
5.1がWinにおける最終バージョンだろ
276デフォルトの名無しさん
2018/11/27(火) 17:49:55.92ID:GQ1LL4CF 5.1だと正常に動かなくて
v2オプジョンだとちゃんと動くのとかあるし…
v2オプジョンだとちゃんと動くのとかあるし…
277デフォルトの名無しさん
2018/11/27(火) 18:27:04.57ID:7LglyRgp >>276
どんなのがあったっけ?
どんなのがあったっけ?
278デフォルトの名無しさん
2018/11/27(火) 19:10:08.25ID:d01YhI4a 今だとUIフォームつくるならWPF?
279デフォルトの名無しさん
2018/11/27(火) 23:03:49.22ID:5h6j1xJ1 JP1のSPTファイルもぶっちゃけVBSみたいなもんだよね
>>273
win7 はたぶん終了にならないと思います、win10 がクソすぎるからね
win7 はたぶん終了にならないと思います、win10 がクソすぎるからね
281デフォルトの名無しさん
2018/11/28(水) 09:58:30.52ID:dGZ6nyrF >>280
神OS(笑)XPの時も似たような話聞いたわ
神OS(笑)XPの時も似たような話聞いたわ
282デフォルトの名無しさん
2018/11/28(水) 11:20:24.48ID:b089yY0z Win7はデフォでv2.0しか使えないからこのスレ的にはダメダメ
283デフォルトの名無しさん
2018/11/28(水) 12:31:06.61ID:j69eTZ+j >>282
デフォルトじゃないとだめなの?
デフォルトじゃないとだめなの?
284デフォルトの名無しさん
2018/11/28(水) 12:57:23.83ID:036JocE6 有償で延長サポートの話が出てる以上
それ以外はバッサリ終了に決まってるでしょ
それ以外はバッサリ終了に決まってるでしょ
285デフォルトの名無しさん
2018/11/28(水) 19:59:03.72ID:b089yY0z >>283
出先でWMF入れられないじゃん
出先でWMF入れられないじゃん
286デフォルトの名無しさん
2018/11/28(水) 21:40:54.00ID:e3ALQLMX >>285
なるほどね。仕事内容や立場により、いろいろあるわけね。
なるほどね。仕事内容や立場により、いろいろあるわけね。
287デフォルトの名無しさん
2018/11/28(水) 21:55:44.64ID:JxqTGA2g これが5.1だとちゃんと動かねぇ
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
function ShowInfoMain{
$counter = 0
$timerTestTick = {
$label_timer.Text = "{0} 秒" -f $counter++
}
#タイマーの初期化
$timerTest = New-Object Windows.Forms.Timer
$timerTest.Add_Tick($timerTestTick)
$timerTest.Interval = 1000
$timerTest.Enabled = $TRUE
$timerTest.Start()
#フォーム
$Form = New-Object System.Windows.Forms.Form
$Form.Size = "100,100"
$Form.StartPosition = "CenterScreen"
#タイマー
$label_timer = New-Object System.Windows.Forms.Label
$label_timer.Text = '0 秒'
$Form.Controls.Add($label_timer)
$result = $Form.Showdialog()
$timerTest.Dispose()
$Form.Dispose()
}
. ShowInfoMain
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
function ShowInfoMain{
$counter = 0
$timerTestTick = {
$label_timer.Text = "{0} 秒" -f $counter++
}
#タイマーの初期化
$timerTest = New-Object Windows.Forms.Timer
$timerTest.Add_Tick($timerTestTick)
$timerTest.Interval = 1000
$timerTest.Enabled = $TRUE
$timerTest.Start()
#フォーム
$Form = New-Object System.Windows.Forms.Form
$Form.Size = "100,100"
$Form.StartPosition = "CenterScreen"
#タイマー
$label_timer = New-Object System.Windows.Forms.Label
$label_timer.Text = '0 秒'
$Form.Controls.Add($label_timer)
$result = $Form.Showdialog()
$timerTest.Dispose()
$Form.Dispose()
}
. ShowInfoMain
288デフォルトの名無しさん
2018/11/28(水) 23:01:00.54ID:b5TbM/Zv $counter = 0
$label_timer = New-Object System.Windows.Forms.Label
$timerTestTick = {
$label_timer.Text = "{0} 秒" -f $script:counter++
}
$label_timer = New-Object System.Windows.Forms.Label
$timerTestTick = {
$label_timer.Text = "{0} 秒" -f $script:counter++
}
289デフォルトの名無しさん
2018/11/28(水) 23:05:36.16ID:b5TbM/Zv 順序関係なく単純に $script:counter++にするだけでいいみたいやね
290デフォルトの名無しさん
2018/11/28(水) 23:27:13.98ID:JxqTGA2g んがー
スクリプトブロックでのスコープによるものって
認識でよろしいのだろうか…
2.0だと動くのはなんでなのじゃ
スクリプトブロックでのスコープによるものって
認識でよろしいのだろうか…
2.0だと動くのはなんでなのじゃ
291デフォルトの名無しさん
2018/11/28(水) 23:38:49.55ID:JxqTGA2g292デフォルトの名無しさん
2018/12/02(日) 21:23:25.18ID:u3CI+74z PowerShell 3.0での破壊的変更まとめ
https://blog.shibata.tech/entry/2018/12/01/113228
デリゲート代わりに使われるスクリプトブロックのスコープ
PowerShell 3.0からデリゲート代わりに使われるスクリプトブロックが独自のスコープを持つようになっています。
たとえば以下の様な例だとPowerShell 2.0では1を、PowerShell 3.0からは0を返す様になります。
Add-Type @"
public class Invoker
{
public static void Invoke(System.Action<int> func)
{
func(1);
}
}
"@
$a = 0
[Invoker]::Invoke({$a = 1})
$a
https://blog.shibata.tech/entry/2018/12/01/113228
デリゲート代わりに使われるスクリプトブロックのスコープ
PowerShell 3.0からデリゲート代わりに使われるスクリプトブロックが独自のスコープを持つようになっています。
たとえば以下の様な例だとPowerShell 2.0では1を、PowerShell 3.0からは0を返す様になります。
Add-Type @"
public class Invoker
{
public static void Invoke(System.Action<int> func)
{
func(1);
}
}
"@
$a = 0
[Invoker]::Invoke({$a = 1})
$a
293デフォルトの名無しさん
2018/12/03(月) 14:13:32.11ID:xHLM582p 新しいpowershell では、Get-Clipboard で、クリップボードから文字列も取得できる!
294デフォルトの名無しさん
2018/12/03(月) 20:49:19.87ID:9uCJpuZ+ んなもん.NET直接呼んだ方が互換性高い
295デフォルトの名無しさん
2018/12/03(月) 21:32:04.89ID:uxAfgW4c なんでそんなめんどくせーことせなあかんねん
296デフォルトの名無しさん
2018/12/03(月) 22:42:10.02ID:YBAcFOR9 >>295
powershellは.netのフロントエンドだから
powershellは.netのフロントエンドだから
297デフォルトの名無しさん
2018/12/03(月) 22:51:11.92ID:uxAfgW4c そういう問題じゃないが・・・
支障がない場合はそんまま使うわあほくさ
支障がない場合はそんまま使うわあほくさ
298デフォルトの名無しさん
2018/12/04(火) 02:28:30.75ID:Tn5NKjZ7 なんで今更5.0の話してんのさ
299デフォルトの名無しさん
2018/12/04(火) 16:12:13.82ID:eKuwOju4 5ch の文章を、テキストエディタへコピペすると、
各行の先頭・末尾に、空白が付くので、これを除去したい
そこで、Ruby でプログラムを作って、
バッチファイルで、そのプログラムをダブルクリックで起動できるようにした
Windows で、クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる
新しいpowershell では、クリップボードから文字列も取得できる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip )
IO.popen( 'clip', 'w:cp932' ) do | clip |
clip.print( ary.join "\n" )
end
各行の先頭・末尾に、空白が付くので、これを除去したい
そこで、Ruby でプログラムを作って、
バッチファイルで、そのプログラムをダブルクリックで起動できるようにした
Windows で、クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる
新しいpowershell では、クリップボードから文字列も取得できる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip )
IO.popen( 'clip', 'w:cp932' ) do | clip |
clip.print( ary.join "\n" )
end
300デフォルトの名無しさん
2018/12/04(火) 17:07:32.91ID:hkRngAzE Get-Clipboardの機能は2015年からあるがどう新しいのか
301デフォルトの名無しさん
2018/12/04(火) 17:45:54.20ID:xb7Yz2vd Ruby挟む意味ないじゃん?バッチも画面が目ざわりだしvbsがいいよ
CreateObject("WScript.Shell").Run "powershell ""gcb | % trim | scb""", 0
CreateObject("WScript.Shell").Run "powershell ""gcb | % trim | scb""", 0
302299
2018/12/04(火) 19:47:12.62ID:eKuwOju4 VBS でも、ダブルクリックで実行できる?
303299
2018/12/04(火) 19:58:07.57ID:eKuwOju4 ありがとう。
VBS でも、ダブルクリックで実行できた
ただ、黒い画面が表示された方が、わかりやすくない?
何秒ぐらい待つのか、迷う
VBS でも、ダブルクリックで実行できた
ただ、黒い画面が表示された方が、わかりやすくない?
何秒ぐらい待つのか、迷う
304デフォルトの名無しさん
2018/12/04(火) 21:38:59.01ID:gx9huxXd Windows文化は「黒い画面」が出るのを良しとしないのだよ
305デフォルトの名無しさん
2018/12/04(火) 22:20:16.69ID:SeIDr86X >>304
そんなの一部の神経質な奴らだけ
そんなの一部の神経質な奴らだけ
306デフォルトの名無しさん
2018/12/04(火) 23:31:35.16ID:RbfFY42H >>305
Windows 文化と言うより、業務でオツちゃん・オバちゃんに使わせるシステムの場合、
あいだに黒い画面が一瞬出ると「なにこれ?」って無用な問い合わせが入ったり、
場合によっては無理やり閉じられることもある。
fool proof の観点からは黒い画面が無いに越したことはない。
Windows 文化と言うより、業務でオツちゃん・オバちゃんに使わせるシステムの場合、
あいだに黒い画面が一瞬出ると「なにこれ?」って無用な問い合わせが入ったり、
場合によっては無理やり閉じられることもある。
fool proof の観点からは黒い画面が無いに越したことはない。
307デフォルトの名無しさん
2018/12/05(水) 20:37:03.12ID:x9ea9mMQ " が含まれている文字列を環境変数にいれてnet useコマンドを使うと" がエスケープされず想定通りに処理されないのですがどうエスケープすればいいんでしょうか
シングルコーテート、バックコーテート、ダブルコーテートで"をくくってもだめでした
シングルコーテート、バックコーテート、ダブルコーテートで"をくくってもだめでした
308デフォルトの名無しさん
2018/12/05(水) 20:49:13.75ID:jRzepDw/ 何をしたくて何をしているのかさっぱりわからん
309デフォルトの名無しさん
2018/12/05(水) 20:58:21.39ID:x9ea9mMQ たとえばですが
$pass = test123"45
net use c:¥temp ¥¥192.168.1.10 $pass /user:testuser
とした時にパスワードに含まれている"が文字列として認識されずコマンドが実行されないのです
これをエスケープしようと
$pass = test123"""45
$pass = test123'"45
などとしてもうまくいかない感じです
$pass = test123"45
net use c:¥temp ¥¥192.168.1.10 $pass /user:testuser
とした時にパスワードに含まれている"が文字列として認識されずコマンドが実行されないのです
これをエスケープしようと
$pass = test123"""45
$pass = test123'"45
などとしてもうまくいかない感じです
310デフォルトの名無しさん
2018/12/05(水) 20:59:28.32ID:0urcwekh net useはpowershellのコマンドプロンプト用、powershellではNew-Psdriveコマンドレット、powershellのエスケープ文字は基本バックスラッシュ`
311デフォルトの名無しさん
2018/12/05(水) 21:00:28.08ID:0urcwekh WSHとごっちゃにしないでね
312デフォルトの名無しさん
2018/12/05(水) 21:01:52.08ID:0urcwekh 1行目間違えた
net useはコマンドプロンプト用
net useはコマンドプロンプト用
313デフォルトの名無しさん
2018/12/05(水) 21:03:52.33ID:x9ea9mMQ net use ではなく new-psdriveだとバクスラでエスケープ可能なんですか?
net useだとエスケープできなかったので、ちょっとやってみまふ
net useだとエスケープできなかったので、ちょっとやってみまふ
314デフォルトの名無しさん
2018/12/05(水) 21:08:28.49ID:x9ea9mMQ ちなみにパワーシェルからcmd /cでコマンド呼び出すときのエスケープキーはバクスラと^のどちらですか?
315デフォルトの名無しさん
2018/12/05(水) 21:10:17.22ID:0urcwekh 本件は
$pass='123"45'
とすればいいだけ
$pass='123"45'
とすればいいだけ
316デフォルトの名無しさん
2018/12/05(水) 21:16:36.03ID:x9ea9mMQ シングルコーテートでくくってもエスケープできるんですね
ありがとうございます
ありがとうございます
317デフォルトの名無しさん
2018/12/05(水) 21:23:21.81ID:0urcwekh エスケープじゃなくて、Powershellでは文字列は必ず'か"どっちかで囲う。生身はだめ。'で囲うのは静的リテラルの場合
318デフォルトの名無しさん
2018/12/05(水) 21:25:50.83ID:jRzepDw/ 結局環境変数は関係ないのか?
> " が含まれている文字列を環境変数にいれて
> " が含まれている文字列を環境変数にいれて
319デフォルトの名無しさん
2018/12/05(水) 21:30:22.57ID:0urcwekh 本当の初学者で変数もコマンドプロンプトと同じ概念なんだろ
320デフォルトの名無しさん
2018/12/05(水) 21:57:08.28ID:x9ea9mMQ なるほどそういうルールあるんですね
プログラムやったことないんでしらんかったす
リテラルってのも意味わからんかったくらいや
プログラムやったことないんでしらんかったす
リテラルってのも意味わからんかったくらいや
321デフォルトの名無しさん
2018/12/05(水) 22:13:06.29ID:ix5zH8Lr start-processで終了を待たずにps1実行していくのは疑似並列処理として考えて良いのでしょうか
322デフォルトの名無しさん
2018/12/06(木) 07:24:42.90ID:Ia5EZXvv 「`」はバッククォートだ馬鹿者
バックスラッシュ(\)とは違う
バックスラッシュ(\)とは違う
323デフォルトの名無しさん
2018/12/06(木) 08:11:29.70ID:XlsCLRxJ PowerShell Coreの宣伝始まった
https://twitter.com/Steve_MSFT/status/1070096140010287104
https://twitter.com/5chan_nel (5ch newer account)
https://twitter.com/Steve_MSFT/status/1070096140010287104
https://twitter.com/5chan_nel (5ch newer account)
324デフォルトの名無しさん
2018/12/06(木) 12:49:27.99ID:r+yxrRWT 標準出力に変なもん混ぜるな
325デフォルトの名無しさん
2018/12/06(木) 14:36:39.70ID:8XTishpu326デフォルトの名無しさん
2018/12/07(金) 00:30:59.21ID:d/eT01GS whoamlで取得した実行結果のユーザ名を一行で環境変数に入れるにはどうすれば良いでしょうか
whoami 実行
結果 testpc¥user1
と結果が返ってくる場合、
$test = whoami.split("¥")[1]
と言ったかたちで
$testにuser1を格納させたいのですがうまく行きません
whoami 実行
結果 testpc¥user1
と結果が返ってくる場合、
$test = whoami.split("¥")[1]
と言ったかたちで
$testにuser1を格納させたいのですがうまく行きません
327デフォルトの名無しさん
2018/12/07(金) 01:04:59.92ID:frCtIBO+ 括弧で囲む
(whoami)
(whoami)
328デフォルトの名無しさん
2018/12/07(金) 03:14:11.72ID:0M/LMioQ >>326
昨日と同じ人だと思うけれどpowershellでは変数はコマンドプロンプトとは違い環境変数ではありません。
http://www.atmarkit.co.jp/ait/spv/0709/20/news125_2.html
昨日と同じ人だと思うけれどpowershellでは変数はコマンドプロンプトとは違い環境変数ではありません。
http://www.atmarkit.co.jp/ait/spv/0709/20/news125_2.html
329デフォルトの名無しさん
2018/12/07(金) 07:51:42.00ID:QVqNOX9I 読んでみたけど違いがよくわからん
型を持つってとこ?
型を持つってとこ?
330デフォルトの名無しさん
2018/12/07(金) 08:45:51.25ID:hrhTiXxm 型じゃなく範囲・スコープだよ
環境変数はOSが管理していて、ひとつ値をセットしたら同じ環境内の他プロセス(アプリ)がその値をOSに教えてもらえる
普通の変数はプロセス内で管理されていて、他プロセスは見ることが出来ない
環境変数はOSが管理していて、ひとつ値をセットしたら同じ環境内の他プロセス(アプリ)がその値をOSに教えてもらえる
普通の変数はプロセス内で管理されていて、他プロセスは見ることが出来ない
331デフォルトの名無しさん
2018/12/07(金) 12:18:05.50ID:cSzYN2du Linux では、~/.bashrc に環境変数を書けば、
自分(そのユーザーだけ)が起動するプロセスから、アクセスできる
etc/ 以下なら、PC 全体の設定になる
~/.bashrc は、Windows ではユーザー環境変数。
一方、システム環境変数は、PC 全体の設定で、すべてのユーザーで共有される
例えば、Tで始まる環境変数なら、
ls env: | Where-Object {$_.name -like "T*"}
自分(そのユーザーだけ)が起動するプロセスから、アクセスできる
etc/ 以下なら、PC 全体の設定になる
~/.bashrc は、Windows ではユーザー環境変数。
一方、システム環境変数は、PC 全体の設定で、すべてのユーザーで共有される
例えば、Tで始まる環境変数なら、
ls env: | Where-Object {$_.name -like "T*"}
332デフォルトの名無しさん
2018/12/07(金) 12:42:27.81ID:TQVSWTyy >>326
それを実行している自分自身のユーザ名が欲しいだけなら、わざわざそんなことしなくても
$env:USERNAME
で引っ張ってこれる。
出し惜しみ、小出しにしないで前後関係も話さないと的確なアドバイスが出来ないよ。
それを実行している自分自身のユーザ名が欲しいだけなら、わざわざそんなことしなくても
$env:USERNAME
で引っ張ってこれる。
出し惜しみ、小出しにしないで前後関係も話さないと的確なアドバイスが出来ないよ。
333デフォルトの名無しさん
2018/12/07(金) 16:32:33.86ID:fTv51LPz >>331
.bashrcはPowershellでは$Profileに当たると思うわ
.bashrcはPowershellでは$Profileに当たると思うわ
334デフォルトの名無しさん
2018/12/07(金) 17:14:53.01ID:2MiN5Gqm つーか、Credential使えよ
今時ハードコートとかありえん
今時ハードコートとかありえん
335デフォルトの名無しさん
2018/12/07(金) 17:53:23.13ID:TQVSWTyy >>334
だね。
どうやら ID:x9ea9mMQ ID:d/eT01GS はネットワークドライブのマウントがやりたいようだけど、
dos batch で使うべき net use や whois を PowerShell で使おうとすることに
無理がある。出来なくもないけどエレガントじゃない。
PowerShell でやるなら New-PSDrive だな。
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/new-psdrive
-Credential で任意の(自分以外の)クレデンシャルも指定できるから、
ID:x9ea9mMQ の要件も(たぶん)満たせるだろう。
だね。
どうやら ID:x9ea9mMQ ID:d/eT01GS はネットワークドライブのマウントがやりたいようだけど、
dos batch で使うべき net use や whois を PowerShell で使おうとすることに
無理がある。出来なくもないけどエレガントじゃない。
PowerShell でやるなら New-PSDrive だな。
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/new-psdrive
-Credential で任意の(自分以外の)クレデンシャルも指定できるから、
ID:x9ea9mMQ の要件も(たぶん)満たせるだろう。
336デフォルトの名無しさん
2018/12/07(金) 18:35:56.11ID:fTv51LPz コマンドレット使える所を外部コマンド使うなよとは思うね
出力から値をテキスト抽出で取り出すとかもエレガントではないな
あとlsとかcatとかdirとかのコマンドエイリアス使うのも微妙に感じる
出力から値をテキスト抽出で取り出すとかもエレガントではないな
あとlsとかcatとかdirとかのコマンドエイリアス使うのも微妙に感じる
337デフォルトの名無しさん
2018/12/07(金) 19:53:53.63ID:iBsL10N5 Get-ChileItemに-Depthなんてオプションあったんだな。
うちの会社は↓みたいな整然としたフォルダ構成だから
こういうオプションあるとすごく助かるわ
プロジェクト管理
└2018年
└1Q
└プロジェクトA
└プロジェクトB
└2Q
└プロジェクトC
└3Q
└プロジェクトD
└4Q
└プロジェクトE
└プロジェクトF
└2019年
└1Q
└プロジェクトG
うちの会社は↓みたいな整然としたフォルダ構成だから
こういうオプションあるとすごく助かるわ
プロジェクト管理
└2018年
└1Q
└プロジェクトA
└プロジェクトB
└2Q
└プロジェクトC
└3Q
└プロジェクトD
└4Q
└プロジェクトE
└プロジェクトF
└2019年
└1Q
└プロジェクトG
338デフォルトの名無しさん
2018/12/07(金) 20:47:47.55ID:d/eT01GS treeコマンドやん
339デフォルトの名無しさん
2018/12/07(金) 20:51:06.57ID:0M/LMioQ tree形式で図示しただけ。
gciの-Depth は再帰検索する深さの指定
gciの-Depth は再帰検索する深さの指定
340デフォルトの名無しさん
2018/12/07(金) 20:55:01.67ID:0M/LMioQ ID:iBsL10N5 自身が言うべき事だが
阿呆指摘についカッとなった
阿呆指摘についカッとなった
341デフォルトの名無しさん
2018/12/07(金) 21:00:51.64ID:hrhTiXxm 清濁併せ呑んでこそのPowershell
なんたって名前からしてパワーだからな
力業もどんとこい
なんたって名前からしてパワーだからな
力業もどんとこい
342デフォルトの名無しさん
2018/12/08(土) 11:14:58.74ID:j0zdr08g .NET Core 3.0 Preview 1でWPF、Windows Forms, WinUIが組み込まれてオープンソース化したんか
ほえー
ほえー
343デフォルトの名無しさん
2018/12/08(土) 15:04:34.50ID:8f5a0RKW344デフォルトの名無しさん
2018/12/08(土) 21:38:13.36ID:3Pj/jJ/S Announcing Open Source of WPF, Windows Forms, and WinUI at Microsoft Connect(); 2018
https://blogs.windows.com/buildingapps/2018/12/04/announcing-open-source-of-wpf-windows-forms-and-winui-at-microsoft-connect-2018/
https://blogs.windows.com/buildingapps/2018/12/04/announcing-open-source-of-wpf-windows-forms-and-winui-at-microsoft-connect-2018/
345デフォルトの名無しさん
2018/12/10(月) 20:42:25.20ID:T1JETwww PowerShellでLINQって使えますかね?
346デフォルトの名無しさん
2018/12/10(月) 21:47:33.54ID:PtRqcV9k Linqっぽいことはできる
(1..10).ForEach({ $_ + 100 }).Where({ $_ -gt 105 })
Linqメソッドも呼べるけどC#のようにインスタンスメソッドな感じでは使えない
[Linq.Enumerable]::Where(1..10 -as [int[]], { param($x) $x -gt 5 } -as [Func[int,bool]])
(1..10).ForEach({ $_ + 100 }).Where({ $_ -gt 105 })
Linqメソッドも呼べるけどC#のようにインスタンスメソッドな感じでは使えない
[Linq.Enumerable]::Where(1..10 -as [int[]], { param($x) $x -gt 5 } -as [Func[int,bool]])
347デフォルトの名無しさん
2018/12/10(月) 22:38:26.51ID:vOOk2a2h 必要な箇所でC#コード書けばいいじゃん
外人のコード読むと皆そうやってるよ
外人のコード読むと皆そうやってるよ
348デフォルトの名無しさん
2018/12/11(火) 18:45:17.51ID:zooyFZ6f @echo offと同等のコマンドってパワーシェルにありますか?
349デフォルトの名無しさん
2018/12/11(火) 19:50:47.03ID:5HU4XML/350デフォルトの名無しさん
2018/12/11(火) 20:18:20.80ID:pSYvkLmz powershellでメール受信やるならMailkitがいいですかね?
351デフォルトの名無しさん
2018/12/14(金) 21:21:08.51ID:xmsOh7Vk UWPスレが死んでるのでこっちで聞き直すね
起動してるUWPアプリの列挙ってpowershellでどうやればいいですかね?
全く出てこないんですが
起動してるUWPアプリの列挙ってpowershellでどうやればいいですかね?
全く出てこないんですが
352デフォルトの名無しさん
2018/12/14(金) 23:01:55.52ID:unWqZBXJ Get-WmiObject Win32_Process | where Path -like "*\WindowsApps\*" | fl Process Id,Name,Path
とか
とか
353デフォルトの名無しさん
2018/12/16(日) 12:08:41.16ID:PkDIN57F354デフォルトの名無しさん
2018/12/16(日) 21:18:15.54ID:XltMT+7i 職場のPC(セキュリティ上の理由でネットに繋がらない)がWin7→Win10になったんだが
PowerShellのヘルプがオンラインヘルプだけになって見れないのでつらい
PowerShellのヘルプがオンラインヘルプだけになって見れないのでつらい
355デフォルトの名無しさん
2018/12/16(日) 21:48:37.43ID:GDEIwjsa Get-HelpとかISEのコマンドアドオンじゃダメなん
356354
2018/12/20(木) 22:28:30.63ID:MSiR3oAq >>355
遅くなった & 説明が間違えてたごめん
Get-Helpコマンド自体は使えるんだけど-Fullオプション付けても付けない時と同じ内容しか出てこない
つまり使用例が見れないのでPowerShellを最近使い始めた自分にはつらい
ISEもヘルプを見ようとすると「ネットに繋がりません」みたいなエラーになった
もうリファレンス本買うことにするよ・・・orz
遅くなった & 説明が間違えてたごめん
Get-Helpコマンド自体は使えるんだけど-Fullオプション付けても付けない時と同じ内容しか出てこない
つまり使用例が見れないのでPowerShellを最近使い始めた自分にはつらい
ISEもヘルプを見ようとすると「ネットに繋がりません」みたいなエラーになった
もうリファレンス本買うことにするよ・・・orz
357デフォルトの名無しさん
2018/12/20(木) 22:59:49.46ID:PfMwju1x 別PCでSave-Helpでファイルダウンロードして手動で配置したらあかんの?
358356
2018/12/21(金) 01:31:43.78ID:GySz2aRs359デフォルトの名無しさん
2018/12/21(金) 08:22:37.58ID:Lg32FCuG 5.1対応の良い感じの書籍あるんかな
360デフォルトの名無しさん
2018/12/22(土) 07:51:50.03ID:i7ExTGRa 変数展開するときに、
$test
と
${test}
ではなにが違うんですか?
$test
と
${test}
ではなにが違うんですか?
361デフォルトの名無しさん
2018/12/22(土) 12:12:36.07ID:UGqq2IDw >>360
基本一緒でしょう
GetType()
してみるとわかりますと同じですね。
ただし、${}の指定では配列のインデックス指定できない
${a[0]} とかは許されないですね。
なんでこういうのがあるかは分りません。
基本一緒でしょう
GetType()
してみるとわかりますと同じですね。
ただし、${}の指定では配列のインデックス指定できない
${a[0]} とかは許されないですね。
なんでこういうのがあるかは分りません。
362デフォルトの名無しさん
2018/12/22(土) 14:03:56.67ID:YB2ocxbA $test = "TEST"
"test$testtest"
"test${test}test"
こういう時にでも使うんじゃねーの
求める形に適当なのを使えばいいんじゃねーかな
"test$testtest"
"test${test}test"
こういう時にでも使うんじゃねーの
求める形に適当なのを使えばいいんじゃねーかな
363デフォルトの名無しさん
2018/12/22(土) 15:32:06.19ID:TlQhzlLR 中括弧つければ通常使えない文字も使える
${\(^o^)/} = "オワタ"
${ Hello ?? World! `nby powershell } = "hi"
どんな文字列でも変数名として有効であることが保証されるからコード生成とかで使われるらしい
普通は文字列への埋め込み時くらいしか使わんね
${\(^o^)/} = "オワタ"
${ Hello ?? World! `nby powershell } = "hi"
どんな文字列でも変数名として有効であることが保証されるからコード生成とかで使われるらしい
普通は文字列への埋め込み時くらいしか使わんね
364デフォルトの名無しさん
2018/12/22(土) 16:16:19.79ID:VDYmdehC >>360
私はコードの可読性を高めるためになるべく ${hoge} といった形で記述するようにしてます。
あと、文字列をつなぐような場合でも ${hoge} が使われます。
$hoge = "hoge"
echo "${hoge}fuga"
この場合は「hogefuga」が出力されますが、
$hoge = "hoge"
echo "$hogefuga"
これでは$hogefuga という変数を参照することになるので思ったように動作しません。
私はコードの可読性を高めるためになるべく ${hoge} といった形で記述するようにしてます。
あと、文字列をつなぐような場合でも ${hoge} が使われます。
$hoge = "hoge"
echo "${hoge}fuga"
この場合は「hogefuga」が出力されますが、
$hoge = "hoge"
echo "$hogefuga"
これでは$hogefuga という変数を参照することになるので思ったように動作しません。
365デフォルトの名無しさん
2018/12/22(土) 16:37:26.19ID:UGqq2IDw なるほどね
$test="TEST"
"test"+$test+"test"
より次の方がスマートかもね
"test${test}test"
$test="TEST"
"test"+$test+"test"
より次の方がスマートかもね
"test${test}test"
366デフォルトの名無しさん
2018/12/22(土) 16:59:32.04ID:YB2ocxbA >>363
そういえば日本語の変数もできるんでしたね
そういえば日本語の変数もできるんでしたね
367デフォルトの名無しさん
2018/12/22(土) 17:09:04.46ID:HuIkWn7P 【たけしの超常現象特番、本日18時56分】 大槻教授がUFOやマ@トレーヤを見たらどんな反応するかな
http://rosie.5ch.net/test/read.cgi/liveplus/1545444404/l50
http://rosie.5ch.net/test/read.cgi/liveplus/1545444404/l50
368デフォルトの名無しさん
2018/12/22(土) 17:15:32.75ID:uHYOaa0r ダブルコーテーション内で変数を値展開させたい場合空白文字で区切られていないとだめ。つまり
echo "$hoge fuga"
であれば
hoge fuga
にはなる。
hogefugaを得たい場合、俺なら
echo ($hoge+"fuga")
と書く
echo "$hoge fuga"
であれば
hoge fuga
にはなる。
hogefugaを得たい場合、俺なら
echo ($hoge+"fuga")
と書く
369デフォルトの名無しさん
2018/12/22(土) 18:16:02.24ID:UGqq2IDw echoを使う理由はなんかあるのかな?
私はecho自体つかわないので
私はecho自体つかわないので
370デフォルトの名無しさん
2018/12/22(土) 18:17:09.93ID:UGqq2IDw371デフォルトの名無しさん
2018/12/22(土) 18:20:02.63ID:b6CiPLFa ログを標準出力に出力するときに普通に使う
aho=echo `command`
こうやってコマンドの標準出力の結果を環境変数にいれるときにも
普通に使う
echoなかったらなに使えばいいワケ?
aho=echo `command`
こうやってコマンドの標準出力の結果を環境変数にいれるときにも
普通に使う
echoなかったらなに使えばいいワケ?
372デフォルトの名無しさん
2018/12/22(土) 18:30:20.06ID:UGqq2IDw いや、使う場面がないので聞いただけ
通常ログに返すときにはそのままechoなしで書いているもので
上記のやり取りの例だとechoいらないな〜と思ったまで
通常ログに返すときにはそのままechoなしで書いているもので
上記のやり取りの例だとechoいらないな〜と思ったまで
373デフォルトの名無しさん
2018/12/22(土) 19:12:48.17ID:BLULObxH echo使わなくてもコマンドの標準出力の結果を変数に入れられるのでは?
環境変数???
環境変数???
374デフォルトの名無しさん
2018/12/22(土) 19:19:04.64ID:TlQhzlLR オプション付けないなら意味はない
使う機会は-NoEnumerateするときくらいかな
-NoEnumerateすると配列を塊のままパイプに流せる
"1-one","2-two" | foreach { Write-Output ($_ -split "-") } | Write-Host
1
one
2
two
"1-one","2-two" | foreach { Write-Output ($_ -split "-") -NoEnumerate } | Write-Host
1 one
2 two
使う機会は-NoEnumerateするときくらいかな
-NoEnumerateすると配列を塊のままパイプに流せる
"1-one","2-two" | foreach { Write-Output ($_ -split "-") } | Write-Host
1
one
2
two
"1-one","2-two" | foreach { Write-Output ($_ -split "-") -NoEnumerate } | Write-Host
1 one
2 two
375デフォルトの名無しさん
2018/12/22(土) 19:19:11.25ID:b6CiPLFa 失礼した
パワー系池沼シェルについてはオレは知らん
スレタイみずに普通のシェルの話してるかと思ってたわ
パワー系池沼シェルについてはオレは知らん
スレタイみずに普通のシェルの話してるかと思ってたわ
376デフォルトの名無しさん
2018/12/22(土) 19:20:29.55ID:UGqq2IDw そのまま書けば標準出力先への出力ですよね
私も不勉強なのですが、場合によりほかのシェル言語経験の方で
そちらではそれが普通なので、その習慣で書いているとかないですかね?
PSの環境変数にも特段echoいらないと思うし。
私も不勉強なのですが、場合によりほかのシェル言語経験の方で
そちらではそれが普通なので、その習慣で書いているとかないですかね?
PSの環境変数にも特段echoいらないと思うし。
377デフォルトの名無しさん
2018/12/22(土) 19:39:35.63ID:90OqLo7S $env:aho = command で普通に入るね
echoとWrite-Outputの役割はpsに慣れてない人への広い意味でのエイリアスだと思う
シェル言語はツールとしての側面があるから、不使用の方が高尚だと矯正するようなものでもないと思う
echoとWrite-Outputの役割はpsに慣れてない人への広い意味でのエイリアスだと思う
シェル言語はツールとしての側面があるから、不使用の方が高尚だと矯正するようなものでもないと思う
378デフォルトの名無しさん
2018/12/22(土) 20:18:16.73ID:SAN+T+wn ループでWrite-Outputすると遅い気がする
379デフォルトの名無しさん
2018/12/22(土) 20:24:16.85ID:SAN+T+wn (measure-command{
$first = [datetime]"2000/1/1"
$last = [datetime]"2018/1/1"
foreach($t in 0..($last - $first).TotalHours)
{
$first + [timespan]::FromHours($t)
}
}).TotalMilliseconds
の
$first + [timespan]::FromHours($t)
を
Write-Output ($first + [timespan]::FromHours($t))
にすると3倍くらいかかる
$first = [datetime]"2000/1/1"
$last = [datetime]"2018/1/1"
foreach($t in 0..($last - $first).TotalHours)
{
$first + [timespan]::FromHours($t)
}
}).TotalMilliseconds
の
$first + [timespan]::FromHours($t)
を
Write-Output ($first + [timespan]::FromHours($t))
にすると3倍くらいかかる
380デフォルトの名無しさん
2018/12/22(土) 20:27:37.85ID:uHYOaa0r 変数の自動展開は他の言語の経験者が一番最初に気づくPowerShellの特徴だよね
暗黙の|Out-Defaultが常に付いてる処理になっている
詳しくは下記参照
https://technet.microsoft.com/ja-jp/magazine/gg213852.aspx
https://blog.shibata.tech/entry/2016/01/11/151201
暗黙の|Out-Defaultが常に付いてる処理になっている
詳しくは下記参照
https://technet.microsoft.com/ja-jp/magazine/gg213852.aspx
https://blog.shibata.tech/entry/2016/01/11/151201
381デフォルトの名無しさん
2018/12/22(土) 20:30:19.10ID:VDYmdehC >>372
> 上記のやり取りの例だとechoいらないな〜と思ったまで
ぜんぜんそれでも文法&動作的にはオッケーです。
可読性、保守性を上げるためのマイルールです。
自分だけがメンテするスクリプトなら問題ありませんが、複数の人間が
読む可能性がある場合は「何をやろうとしているのか」を
明確にするためにそうしています。
PowerShell に明るくない人が読む可能性もありますから。
なお echo は Write-Output のエイリアスですので念のため。
> 上記のやり取りの例だとechoいらないな〜と思ったまで
ぜんぜんそれでも文法&動作的にはオッケーです。
可読性、保守性を上げるためのマイルールです。
自分だけがメンテするスクリプトなら問題ありませんが、複数の人間が
読む可能性がある場合は「何をやろうとしているのか」を
明確にするためにそうしています。
PowerShell に明るくない人が読む可能性もありますから。
なお echo は Write-Output のエイリアスですので念のため。
382デフォルトの名無しさん
2018/12/22(土) 20:45:17.71ID:uHYOaa0r > なお echo は Write-Output のエイリアスですので念のため。
一言余計、そんなことは誰でも知ってる。勘違い馬鹿なID:b6CiPLFa以外は
一言余計、そんなことは誰でも知ってる。勘違い馬鹿なID:b6CiPLFa以外は
383デフォルトの名無しさん
2018/12/22(土) 20:52:39.16ID:b6CiPLFa ほらな低学歴ドカタまるだし()
384デフォルトの名無しさん
2018/12/22(土) 20:57:41.33ID:2OCHmGHo 流石にこれは酷い
385デフォルトの名無しさん
2018/12/22(土) 21:11:08.80ID:hL+/9mZc この流れで思い出した
PSの出力をログに同時に吐くようにできませんか?
PSの出力をログに同時に吐くようにできませんか?
386デフォルトの名無しさん
2018/12/22(土) 21:18:03.91ID:TlQhzlLR 手っ取り早いのはStart-Transcript
387デフォルトの名無しさん
2018/12/22(土) 21:18:56.31ID:uHYOaa0r Start-Transcript ファイル名 -append
388デフォルトの名無しさん
2018/12/22(土) 21:24:11.29ID:UGqq2IDw >>358
あ、用意されていて簡単にできたはずだ。なんだっけな・・・
あ、用意されていて簡単にできたはずだ。なんだっけな・・・
389デフォルトの名無しさん
2018/12/22(土) 21:47:51.46ID:HBvYruUV $_ っていうのはどういう意味?
390デフォルトの名無しさん
2018/12/22(土) 21:52:10.12ID:SAN+T+wn パイプライン入力の自動変数
391デフォルトの名無しさん
2018/12/22(土) 22:55:05.08ID:84E3pYZa alias と入力してみ。
漏れは、Linux・コマンドプロンプトのalias を使う
%, ?
cat, cd, chdir, cp, curl, dir, echo, foreach, ls,
man, mv, ps, pwd, ren, rm, rmdir, tee, type, wget, where
たいていは、Ruby からPowerShell(PS) を呼ぶか、
ダブルクリックで起動したい時は、VBScript から呼ぶ
Ruby, PS, VBS が入り乱れる
漏れは、Linux・コマンドプロンプトのalias を使う
%, ?
cat, cd, chdir, cp, curl, dir, echo, foreach, ls,
man, mv, ps, pwd, ren, rm, rmdir, tee, type, wget, where
たいていは、Ruby からPowerShell(PS) を呼ぶか、
ダブルクリックで起動したい時は、VBScript から呼ぶ
Ruby, PS, VBS が入り乱れる
392デフォルトの名無しさん
2018/12/23(日) 00:15:24.77ID:qffc/3mK ps:オレのPC
PS >.\datecount.ps1 > xxx.txt
----
datecount.ps1(>>379)
date
$first = [datetime]"2000/1/1"
$last = [datetime]"2018/1/1"
foreach($t in 0..($last - $first).TotalHours)
{
$first + [timespan]::FromHours($t)
}
date
----
xxx.txt
2018年12月23日 0:02:31 ← 開始
2000年1月1日 0:00:00
2000年1月1日 1:00:00
(-snip-)
2017年12月31日 23:00:00
2018年1月1日 0:00:00
2018年12月23日 0:03:37 ← 終了
PS >.\datecount.ps1 > xxx.txt
----
datecount.ps1(>>379)
date
$first = [datetime]"2000/1/1"
$last = [datetime]"2018/1/1"
foreach($t in 0..($last - $first).TotalHours)
{
$first + [timespan]::FromHours($t)
}
date
----
xxx.txt
2018年12月23日 0:02:31 ← 開始
2000年1月1日 0:00:00
2000年1月1日 1:00:00
(-snip-)
2017年12月31日 23:00:00
2018年1月1日 0:00:00
2018年12月23日 0:03:37 ← 終了
393デフォルトの名無しさん
2018/12/23(日) 00:18:08.99ID:qffc/3mK bash:オレのPC(>>392と同じ計算機)のvmwareのcentos
$ ./datecount.sh > xxx.txt
----
datecount.sh
#!/bin/bash
date
FIRST=`date +%s -d "2000/1/1 0:00:00"`
LAST=`date +%s -d "2018/1/1 0:00:00"`
A=$((FIRST-=3600))
while [ ${A} -lt ${LAST} ]
do
date -d @$((A+=3600)) "+%Y年%-m月%-d日 %k:%M:%S"
done
date
----
xxx.txt
2018年 12月 22日 土曜日 23:59:44 JST ← 開始
2000年1月1日 0:00:00
2000年1月1日 1:00:00
(-snip-)
2017年12月31日 23:00:00
2018年1月1日 0:00:00
2018年 12月 23日 日曜日 00:01:53 JST ← 終了
$ ./datecount.sh > xxx.txt
----
datecount.sh
#!/bin/bash
date
FIRST=`date +%s -d "2000/1/1 0:00:00"`
LAST=`date +%s -d "2018/1/1 0:00:00"`
A=$((FIRST-=3600))
while [ ${A} -lt ${LAST} ]
do
date -d @$((A+=3600)) "+%Y年%-m月%-d日 %k:%M:%S"
done
date
----
xxx.txt
2018年 12月 22日 土曜日 23:59:44 JST ← 開始
2000年1月1日 0:00:00
2000年1月1日 1:00:00
(-snip-)
2017年12月31日 23:00:00
2018年1月1日 0:00:00
2018年 12月 23日 日曜日 00:01:53 JST ← 終了
394デフォルトの名無しさん
2018/12/23(日) 00:47:12.06ID:qffc/3mK 改めてパワー系池沼シェルの遅さが実感できたわ
linuxのほうは毎回dateコマンド経由して結果を取得するものすごい悪い条件なのに
パワー系池沼シェルは組込みオブジェクト使ってもこの速度だからな
組込みオブジェクトを使わなかっらどうなるか
つまりそういうことになる
お話にならない。。。
linuxのほうは毎回dateコマンド経由して結果を取得するものすごい悪い条件なのに
パワー系池沼シェルは組込みオブジェクト使ってもこの速度だからな
組込みオブジェクトを使わなかっらどうなるか
つまりそういうことになる
お話にならない。。。
395デフォルトの名無しさん
2018/12/23(日) 00:59:55.54ID:M6Mt1G8k datew
396デフォルトの名無しさん
2018/12/23(日) 01:00:31.45ID:9AXglOVX397デフォルトの名無しさん
2018/12/23(日) 01:02:46.02ID:zuMyhwwp あれ$PSItemと同じなんだっけ
398デフォルトの名無しさん
2018/12/23(日) 01:30:03.97ID:9E3TCu/N PSでテキスト処理する上でそんままやるやつ居るんやな
399デフォルトの名無しさん
2018/12/23(日) 01:52:13.30ID:9E3TCu/N 結果をlogに出力するだけならすぐ終わるべ
2018年12月23日 1:44:41
2000年01月01日 00:00:00
2000年01月01日 01:00:00
2000年01月01日 02:00:00
2017年12月31日 22:00:00
2017年12月31日 23:00:00
2018年01月01日 00:00:00
2018年12月23日 1:44:43
2018年12月23日 1:44:41
2000年01月01日 00:00:00
2000年01月01日 01:00:00
2000年01月01日 02:00:00
2017年12月31日 22:00:00
2017年12月31日 23:00:00
2018年01月01日 00:00:00
2018年12月23日 1:44:43
400デフォルトの名無しさん
2018/12/23(日) 02:02:36.44ID:lfndw29D ピラフ大王なんて、PowerShell で、5ch のスレをスクレイピングするよw
漏れは、Ruby でやるけど
漏れは、Ruby でやるけど
401デフォルトの名無しさん
2018/12/23(日) 02:11:53.35ID:M6Mt1G8k 単に出力がネックになってるだけだからな
dateなんて関係ねえw
dateなんて関係ねえw
402デフォルトの名無しさん
2018/12/23(日) 02:26:18.31ID:zuMyhwwp403デフォルトの名無しさん
2018/12/23(日) 02:35:01.23ID:M6Mt1G8k 計算結果をリストに入れるだけなら0.3秒で終わる
つまりほぼ画面出力かかってる時間なのに
それを組み込みオブジェクトがどうのこうの訳わからんこと言ってる馬鹿さよ
つまりほぼ画面出力かかってる時間なのに
それを組み込みオブジェクトがどうのこうの訳わからんこと言ってる馬鹿さよ
404デフォルトの名無しさん
2018/12/23(日) 02:39:37.23ID:9E3TCu/N psちゃんはストリーム出力がやたら遅い上に日本語ロケールだとさらに遅い
405デフォルトの名無しさん
2018/12/23(日) 08:50:16.09ID:z3o8Rgch 初学者と低能アンチが自らおバカを披露するスレはここですか。
にやにや眺めてる
にやにや眺めてる
406デフォルトの名無しさん
2018/12/23(日) 10:21:20.90ID:qffc/3mK 画面出力()
やはりパワー系池沼シェルは
池沼が使ってるだけあるわ
オレの試験をみて画面に出力してると思ってるなら
相当知能に問題がある
というよりなシェルの仕組み自体を理解してない
コマンドでは両方とも標準出力をファイルにリダイレクトしている
しかもdate使ってるのはlinuxだからな
池沼はパワー系池沼シェルがdate使ってると思ってるらしいわ
普通に外部コマンド呼び出しのほうがオーバーヘッドがあるからな
まずシェルの内部コマンドと外部コマンドの違いすら分かってない
つまり、linuxはもともと相当不利
パワー系池沼シェルがこの部分で速いのはアタリマエ
基本的なことがなにもわかってない
所詮、低学歴知恵遅れのオツムの程度は
この程度
低学歴はいちいちいつも自分は低学歴でバカですと
自白するからな
やはりパワー系池沼シェルは
池沼が使ってるだけあるわ
オレの試験をみて画面に出力してると思ってるなら
相当知能に問題がある
というよりなシェルの仕組み自体を理解してない
コマンドでは両方とも標準出力をファイルにリダイレクトしている
しかもdate使ってるのはlinuxだからな
池沼はパワー系池沼シェルがdate使ってると思ってるらしいわ
普通に外部コマンド呼び出しのほうがオーバーヘッドがあるからな
まずシェルの内部コマンドと外部コマンドの違いすら分かってない
つまり、linuxはもともと相当不利
パワー系池沼シェルがこの部分で速いのはアタリマエ
基本的なことがなにもわかってない
所詮、低学歴知恵遅れのオツムの程度は
この程度
低学歴はいちいちいつも自分は低学歴でバカですと
自白するからな
407デフォルトの名無しさん
2018/12/23(日) 10:22:49.86ID:zuMyhwwp いろいろぐじゃぐじゃ言ってるけど、無駄改行も相まって目障りだね
同じ内容で言葉を増やすのはバカでもできて、言葉を減らすには学が必要だ、って誰が言ったんだっけかな
同じ内容で言葉を増やすのはバカでもできて、言葉を減らすには学が必要だ、って誰が言ったんだっけかな
408デフォルトの名無しさん
2018/12/23(日) 10:24:00.28ID:qffc/3mK 低学歴知恵遅れには
一から十までいわないと分からないからな
クソみたいに知能が低い
一から十までいわないと分からないからな
クソみたいに知能が低い
409デフォルトの名無しさん
2018/12/23(日) 10:32:47.68ID:qffc/3mK ホントなこの板はクソみたいに知能の低いのしかいないのが
よくわかるわ
よくわかるわ
410デフォルトの名無しさん
2018/12/23(日) 10:35:50.27ID:M6Mt1G8k ああよく見たらたしかにリダイレクトしてたわw
でどこがネックになってるの?
内部コマンド使えるpowershellが圧倒的に速かったって言いたかっただけ?
でどこがネックになってるの?
内部コマンド使えるpowershellが圧倒的に速かったって言いたかっただけ?
411デフォルトの名無しさん
2018/12/23(日) 10:43:20.28ID:qffc/3mK 低学歴知恵遅れの池沼は
日付とかmsが事前に用意してくれるオブジェクトしか使わないから
問題ない
低学歴知恵遅れの池沼は
自分で作ったコマンドを標準入出力で組み合わせて使える知能すら備えてないから
問題ない
日付とかmsが事前に用意してくれるオブジェクトしか使わないから
問題ない
低学歴知恵遅れの池沼は
自分で作ったコマンドを標準入出力で組み合わせて使える知能すら備えてないから
問題ない
412デフォルトの名無しさん
2018/12/23(日) 11:12:36.36ID:e1SIJ5NV いちいち別プロセス起動するのがエレガント
だとでも言いたいのかね
だとでも言いたいのかね
413デフォルトの名無しさん
2018/12/23(日) 11:40:26.14ID:M6Mt1G8k このアスペの相手は無理だわw
低い次元のしょぼい知識でマウントとろうとするし
またそれ自体が目的になってるからみんな戸惑うんだと思うわ
低い次元のしょぼい知識でマウントとろうとするし
またそれ自体が目的になってるからみんな戸惑うんだと思うわ
414デフォルトの名無しさん
2018/12/23(日) 11:57:29.53ID:qffc/3mK あんな何度もdate呼ぶような、しかもしょうもない処理を何度も使うなら
普通だったらCで書いたコマンドを作るからな
bash:オレのPC(>>392と同じ計算機)のvmwareのcentos
$ ./datecount2.sh > xxx.txt
----
datecount.c
#include <stdio.h>
#include <time.h>
#define FIRST 946652400
#define LAST 1514732400
int main(void) {
struct tm* p_tm;
time_t t = FIRST;
for ( ; t <= LAST; t += 3600) {
p_tm = localtime(&t);
fprintf(stdout, "%d年%d月%d日 %02d:%02d:%02d\n", p_tm->tm_year + 1900, p_tm->tm_mon + 1, p_tm->tm_mday, p_tm->tm_hour, p_tm->tm_min, p_tm->tm_sec);
}
return 0;
}
普通だったらCで書いたコマンドを作るからな
bash:オレのPC(>>392と同じ計算機)のvmwareのcentos
$ ./datecount2.sh > xxx.txt
----
datecount.c
#include <stdio.h>
#include <time.h>
#define FIRST 946652400
#define LAST 1514732400
int main(void) {
struct tm* p_tm;
time_t t = FIRST;
for ( ; t <= LAST; t += 3600) {
p_tm = localtime(&t);
fprintf(stdout, "%d年%d月%d日 %02d:%02d:%02d\n", p_tm->tm_year + 1900, p_tm->tm_mon + 1, p_tm->tm_mday, p_tm->tm_hour, p_tm->tm_min, p_tm->tm_sec);
}
return 0;
}
415デフォルトの名無しさん
2018/12/23(日) 11:58:06.55ID:qffc/3mK #!/bin/bash
date
./datecount
date
----
xxx.txt
018年 12月 23日 日曜日 11:49:43 JST ← 開始
2000年1月1日 00:00:00
2000年1月1日 01:00:00
(-snip-)
2017年12月31日 23:00:00
2018年1月1日 00:00:00
2018年 12月 23日 日曜日 11:49:43 JST ← 終了
一瞬で終わる
なんでもシェルスクリプトだけでやる必要ななんかまったくない
こういった出力結果を加工するのは、当然標準入出力になる
date
./datecount
date
----
xxx.txt
018年 12月 23日 日曜日 11:49:43 JST ← 開始
2000年1月1日 00:00:00
2000年1月1日 01:00:00
(-snip-)
2017年12月31日 23:00:00
2018年1月1日 00:00:00
2018年 12月 23日 日曜日 11:49:43 JST ← 終了
一瞬で終わる
なんでもシェルスクリプトだけでやる必要ななんかまったくない
こういった出力結果を加工するのは、当然標準入出力になる
416デフォルトの名無しさん
2018/12/23(日) 12:00:27.02ID:qffc/3mK マウント()
低学歴知恵遅れが
いちいちオレにつかっかてきたくせに
マウントとかいってるわ
マジで低学歴知恵遅れは
ハジというもんがないらしいな
低学歴知恵遅れは
なんの取り柄もないゴミでクズのくせに
プライドだけは高いからな
ホントな低学歴知恵遅れは
どんだけゴミやねんと
低学歴知恵遅れが
いちいちオレにつかっかてきたくせに
マウントとかいってるわ
マジで低学歴知恵遅れは
ハジというもんがないらしいな
低学歴知恵遅れは
なんの取り柄もないゴミでクズのくせに
プライドだけは高いからな
ホントな低学歴知恵遅れは
どんだけゴミやねんと
417デフォルトの名無しさん
2018/12/23(日) 12:04:59.27ID:M6Mt1G8k 支離滅裂だなこのアスペはw
ある意味見てておもろい生き物だわ
ある意味見てておもろい生き物だわ
418デフォルトの名無しさん
2018/12/23(日) 12:07:09.12ID:9E3TCu/N あの...だからストリーム出力が遅いんですよPSちゃん
date
$log = New-Object System.Text.StringBuilder
$first = [datetime]"2000/1/1"
$last = [datetime]"2018/1/1"
foreach($t in 0..($last - $first).TotalHours)
{
[void]$log.AppendLine(($first + [timespan]::FromHours($t)).ToString("yyyy年MM月dd日 HH:mm:ss"))
}
$log.ToString()
date
これでリダイレクトなら2秒弱だけど
素実行でコンソール出力ありだと10秒ほどかかる
date
$log = New-Object System.Text.StringBuilder
$first = [datetime]"2000/1/1"
$last = [datetime]"2018/1/1"
foreach($t in 0..($last - $first).TotalHours)
{
[void]$log.AppendLine(($first + [timespan]::FromHours($t)).ToString("yyyy年MM月dd日 HH:mm:ss"))
}
$log.ToString()
date
これでリダイレクトなら2秒弱だけど
素実行でコンソール出力ありだと10秒ほどかかる
419デフォルトの名無しさん
2018/12/23(日) 12:07:09.97ID:qffc/3mK 低学歴知恵遅れが
ムリして頭いいふりしようとしても
頭悪いのなんかすぐにバレるからな
残念なことに
本人は気付いてないかもしれないが
いちいち頭悪いですと自己紹介するからな
残念なことに
ムリして頭いいふりしようとしても
頭悪いのなんかすぐにバレるからな
残念なことに
本人は気付いてないかもしれないが
いちいち頭悪いですと自己紹介するからな
残念なことに
420デフォルトの名無しさん
2018/12/23(日) 12:07:55.16ID:M6Mt1G8k 自己紹介乙!
421デフォルトの名無しさん
2018/12/23(日) 12:08:19.86ID:qffc/3mK 低学歴知恵遅れって
低学歴なのがバレてないと思ってるからな
レスすればするほど
低学歴の自己紹介してるのが
分かってない
低学歴なのがバレてないと思ってるからな
レスすればするほど
低学歴の自己紹介してるのが
分かってない
422デフォルトの名無しさん
2018/12/23(日) 12:09:55.64ID:M6Mt1G8k もう頭に血がのぼってる
おもろいやつだわ
おもろいやつだわ
423デフォルトの名無しさん
2018/12/23(日) 12:12:26.40ID:qffc/3mK 自己評価だけは高い低学歴知恵遅れにありがちな典型的なサンプルといっていい
底辺であるほどその傾向が高い傾向にあることは
この板で多くのサンプルをみてきたからすぐにわかるわ
底辺であるほどその傾向が高い傾向にあることは
この板で多くのサンプルをみてきたからすぐにわかるわ
424デフォルトの名無しさん
2018/12/23(日) 12:14:04.22ID:qffc/3mK 低学歴知恵遅れは自覚がない
そいつが低学歴知恵遅れなのは
低学歴がみればすぐに分かるからな
残念なことに
すぐにバレるのが分かってない
そいつが低学歴知恵遅れなのは
低学歴がみればすぐに分かるからな
残念なことに
すぐにバレるのが分かってない
425デフォルトの名無しさん
2018/12/23(日) 12:19:40.35ID:qffc/3mK やっぱりな低学歴知恵遅れは板から排除しないといけないわ
まともな人間がよってこない
低学歴知恵遅れの頭悪いレスでうまってたら
まともなヤツはどんびきするからな
しかも頭悪いことを自信満々でいうからな
そして声だけはでかい
バルサン焚いて低学歴知恵遅れを
この板から駆除しないといけない
まともな人間がよってこない
低学歴知恵遅れの頭悪いレスでうまってたら
まともなヤツはどんびきするからな
しかも頭悪いことを自信満々でいうからな
そして声だけはでかい
バルサン焚いて低学歴知恵遅れを
この板から駆除しないといけない
426デフォルトの名無しさん
2018/12/23(日) 12:24:24.23ID:t7aRRzSS 糖質さんちゃんとお薬飲んでお休みなさいな、ネット耽溺は毒ですよ?
427デフォルトの名無しさん
2018/12/23(日) 12:26:07.38ID:qffc/3mK ほらな身に覚えがあるのが
わらわらこのスレによってきてるわ
誘虫灯になってるわ
図星だからな
わらわらこのスレによってきてるわ
誘虫灯になってるわ
図星だからな
428デフォルトの名無しさん
2018/12/23(日) 12:30:51.58ID:9E3TCu/N シェルでやる必要ないってなると
そだねーで話し終わるんですけど…
そういう主張だったの?
bash持ち出してきて着地点そこでいいの?
そだねーで話し終わるんですけど…
そういう主張だったの?
bash持ち出してきて着地点そこでいいの?
429デフォルトの名無しさん
2018/12/23(日) 12:44:40.56ID:M6Mt1G8k こいつ的にはいいんだろうw
もう少し観察してみよう
もう少し観察してみよう
430デフォルトの名無しさん
2018/12/23(日) 12:46:02.78ID:4wpzIbqj まとめてNGした
431デフォルトの名無しさん
2018/12/23(日) 13:02:32.10ID:qffc/3mK そうオレ以外のレスはまとめてNGで正解
情報価値のある有益なレスはオレのレスしかない
他の低学歴知恵遅れのレスは
情報価値ゼロ
情報価値のある有益なレスはオレのレスしかない
他の低学歴知恵遅れのレスは
情報価値ゼロ
432デフォルトの名無しさん
2018/12/23(日) 13:18:23.49ID:yKwr45+F ちなみに、PowerShellらしくこんな感じではどうだろう
私の遅いマシンでもファイル出力いれても2秒ほどで終わる
$first = [datetime]"2000/1/1"
$last = [datetime]"2018/1/1"
$stream = [System.IO.StreamWriter]::new(".\xxx.txt")
$new=0..($last -$first).TotalHours | % {$stream.WriteLine($first.AddHours($_))}
$stream.Close()
私の遅いマシンでもファイル出力いれても2秒ほどで終わる
$first = [datetime]"2000/1/1"
$last = [datetime]"2018/1/1"
$stream = [System.IO.StreamWriter]::new(".\xxx.txt")
$new=0..($last -$first).TotalHours | % {$stream.WriteLine($first.AddHours($_))}
$stream.Close()
433デフォルトの名無しさん
2018/12/23(日) 13:23:15.06ID:yKwr45+F あ〜
$new= はいらんかった。
$new= はいらんかった。
434デフォルトの名無しさん
2018/12/23(日) 13:29:16.66ID:pDu+7nW/ コマンド実行と同じ行でechoってできますか?
例えば、
echo "cドライブ" dir c:¥
みたいな感じで
例えば、
echo "cドライブ" dir c:¥
みたいな感じで
435デフォルトの名無しさん
2018/12/23(日) 13:44:08.05ID:p+GlREN7 >ID:qffc/3mK
それだけ攻撃的な性格で、円滑な社会生活が営めているのか、老婆心ながら心配になってくる。
>ID:qffc/3mK のレスを見て Void (日下部さん) を思い出した俺はもうオッサン
それだけ攻撃的な性格で、円滑な社会生活が営めているのか、老婆心ながら心配になってくる。
>ID:qffc/3mK のレスを見て Void (日下部さん) を思い出した俺はもうオッサン
436デフォルトの名無しさん
2018/12/23(日) 14:21:43.11ID:p+GlREN7437デフォルトの名無しさん
2018/12/23(日) 14:25:20.11ID:qffc/3mK シェルらしく書くならこうなる
param (
[string]
$o,
[datetime]
$first = [datetime]"2000/1/1",
[datetime]
$last = [datetime]"2018/1/1"
)
${datecount} = foreach($t in 0..($last - $first).TotalHours) { $first + [timespan]::FromHours($t) }
if (-not ${o}) {
${out} = ${datecount}
} else {
${out} = ${datecount} | Set-Content ${o}
}
${out}
param (
[string]
$o,
[datetime]
$first = [datetime]"2000/1/1",
[datetime]
$last = [datetime]"2018/1/1"
)
${datecount} = foreach($t in 0..($last - $first).TotalHours) { $first + [timespan]::FromHours($t) }
if (-not ${o}) {
${out} = ${datecount}
} else {
${out} = ${datecount} | Set-Content ${o}
}
${out}
438デフォルトの名無しさん
2018/12/23(日) 14:26:52.23ID:yKwr45+F >>385
>PSの出力をログに同時に吐くようにできませんか?
やっと思い出した。そのための機能がtee-objectだった
get-process |Tee-Object -FilePath dummy.txt
これでコンソール画面とdymmy.txt両方に出力される。
>PSの出力をログに同時に吐くようにできませんか?
やっと思い出した。そのための機能がtee-objectだった
get-process |Tee-Object -FilePath dummy.txt
これでコンソール画面とdymmy.txt両方に出力される。
439デフォルトの名無しさん
2018/12/23(日) 14:27:56.95ID:qffc/3mK linuxなら指定したファイルにリダイレクトするのも
デバイス(/dev/stdout)にリダイレクトするのも
同じだからな
低学歴知恵遅れたちはなにをリダイレクトといってるのか
意味不明といっていい
池沼の語彙でのリダイレクトはまた違う意味なのか
わかってないでテキトーなこといってんのかよくわからんというより
> これでリダイレクトなら2秒弱だけど
> 素実行でコンソール出力ありだと10秒ほどかかる
きっとなんも分かってない
デバイス(/dev/stdout)にリダイレクトするのも
同じだからな
低学歴知恵遅れたちはなにをリダイレクトといってるのか
意味不明といっていい
池沼の語彙でのリダイレクトはまた違う意味なのか
わかってないでテキトーなこといってんのかよくわからんというより
> これでリダイレクトなら2秒弱だけど
> 素実行でコンソール出力ありだと10秒ほどかかる
きっとなんも分かってない
440デフォルトの名無しさん
2018/12/23(日) 14:33:14.12ID:qffc/3mK /dev/pts/0の端末
$ tty
/dev/pts/0
$ ls −la /dev/stdout
lrwxrwxrwx. 1 root root 15 12月 23 08:20 /dev/stdout −> /proc/self/fd/1
$ ls −la /proc/self/fd/1
lrwx−−−−−−. 1 xxxxx xxxxx 64 12月 23 14:06 /proc/self/fd/1 −> /dev/pts/0
$ ls −la /dev/stderr
lrwxrwxrwx. 1 root root 15 12月 23 08:20 /dev/stderr −> /proc/self/fd/2
$ ls −la /proc/self/fd/2
lrwx−−−−−−. 1 xxxxx xxxxx 64 12月 23 14:16 /proc/self/fd/2 −> /dev/pts/0
$ ls −la /dev/pts/0
crw−−w−−−−. 1 xxxxx tty 136, 0 12月 23 14:07 /dev/pts/0
/dev/pts/1の端末
$ tty
/dev/pts/1
(あとは同じで)/dev/stdoutも/dev/stderrも/dev/pts/1になる
$ tty
/dev/pts/0
$ ls −la /dev/stdout
lrwxrwxrwx. 1 root root 15 12月 23 08:20 /dev/stdout −> /proc/self/fd/1
$ ls −la /proc/self/fd/1
lrwx−−−−−−. 1 xxxxx xxxxx 64 12月 23 14:06 /proc/self/fd/1 −> /dev/pts/0
$ ls −la /dev/stderr
lrwxrwxrwx. 1 root root 15 12月 23 08:20 /dev/stderr −> /proc/self/fd/2
$ ls −la /proc/self/fd/2
lrwx−−−−−−. 1 xxxxx xxxxx 64 12月 23 14:16 /proc/self/fd/2 −> /dev/pts/0
$ ls −la /dev/pts/0
crw−−w−−−−. 1 xxxxx tty 136, 0 12月 23 14:07 /dev/pts/0
/dev/pts/1の端末
$ tty
/dev/pts/1
(あとは同じで)/dev/stdoutも/dev/stderrも/dev/pts/1になる
441デフォルトの名無しさん
2018/12/23(日) 14:35:01.72ID:9E3TCu/N >>439
PSの出力ストリームはやたら複雑なんです
PSの出力ストリームはやたら複雑なんです
442デフォルトの名無しさん
2018/12/23(日) 14:35:32.50ID:qffc/3mK 例えばこの↓コマンドを/dev/pts/0の端末で打ったらどうなるか
このスレにいるような低学歴知恵遅れに分からないのは分かるわ
$ echo aho > /dev/pts/1
いずれにせよ
池沼たちのレスみてたらパワー系池沼シェルがいかにウンコかよくわかるわ
その点は有益だったといえる
このスレにいるような低学歴知恵遅れに分からないのは分かるわ
$ echo aho > /dev/pts/1
いずれにせよ
池沼たちのレスみてたらパワー系池沼シェルがいかにウンコかよくわかるわ
その点は有益だったといえる
443デフォルトの名無しさん
2018/12/23(日) 14:53:35.10ID:e1SIJ5NV unix哲学の押し売りは結構です
444デフォルトの名無しさん
2018/12/23(日) 14:56:40.70ID:yKwr45+F そだね、Unixのシェル知らないから
何をやっているか自体が分らない
だから答えようもない。
何をやっているか自体が分らない
だから答えようもない。
445デフォルトの名無しさん
2018/12/23(日) 15:05:50.41ID:9E3TCu/N あのーここPSスレなんですけどもー?
頭大丈夫ですかー?
頭大丈夫ですかー?
446デフォルトの名無しさん
2018/12/23(日) 15:10:54.99ID:y1IlhbOh スレタイを見ずにUNIXシェルと勘違いして見当違いのレスをした上に
恥をかかされたと逆恨みしてスレを荒らす
残念すぎる
恥をかかされたと逆恨みしてスレを荒らす
残念すぎる
447デフォルトの名無しさん
2018/12/23(日) 15:12:47.09ID:4wpzIbqj 鎌ってやるなんて暇だな君たち
448デフォルトの名無しさん
2018/12/23(日) 15:14:34.38ID:pDu+7nW/449デフォルトの名無しさん
2018/12/23(日) 15:21:36.51ID:qffc/3mK 荒らしてる?
失敬な
低学歴知恵遅れは
自分が低学歴知恵遅れでなんの役にも立ってないのを
すぐに棚にあげるからな
そもそもオレのレスしか有益な情報がない
分かるやつがスレを読めば
いかにパワー系池沼シェルがウンコか分かる構成のレスになってる
そしてこのスレにも低学歴知恵遅れしかいないことを
十分に証明できるレスの構成になってる
だれかオレ以外にこのスレで有益なレスした?
失敬な
低学歴知恵遅れは
自分が低学歴知恵遅れでなんの役にも立ってないのを
すぐに棚にあげるからな
そもそもオレのレスしか有益な情報がない
分かるやつがスレを読めば
いかにパワー系池沼シェルがウンコか分かる構成のレスになってる
そしてこのスレにも低学歴知恵遅れしかいないことを
十分に証明できるレスの構成になってる
だれかオレ以外にこのスレで有益なレスした?
450デフォルトの名無しさん
2018/12/23(日) 15:21:46.66ID:yKwr45+F451デフォルトの名無しさん
2018/12/23(日) 15:24:22.01ID:p+GlREN7 >>448
そうです。他の言語でも文の区切りや行末にセミコロンを使うことが多いので、学習コストを下げるため同じ文字にしたのかもしれませんね。
そうです。他の言語でも文の区切りや行末にセミコロンを使うことが多いので、学習コストを下げるため同じ文字にしたのかもしれませんね。
452デフォルトの名無しさん
2018/12/23(日) 15:25:34.62ID:yKwr45+F >>449
そりゃいいんだけど、そのスクリプトが何をやっているかの説明を一緒に
付けてくれないとわからないんで、それを付けて頂戴。
普段UNIX系使っている人ばかりでないし、私は使うことは使うが
普段つかうのがSASなんで、UNIX系のシェルはディレクトリー指定や変更など
本当の基本だけ知っていれば、シェル自体を必要しなくても処理が完結するんで
何を書いているのかがわかんない。
そりゃいいんだけど、そのスクリプトが何をやっているかの説明を一緒に
付けてくれないとわからないんで、それを付けて頂戴。
普段UNIX系使っている人ばかりでないし、私は使うことは使うが
普段つかうのがSASなんで、UNIX系のシェルはディレクトリー指定や変更など
本当の基本だけ知っていれば、シェル自体を必要しなくても処理が完結するんで
何を書いているのかがわかんない。
453デフォルトの名無しさん
2018/12/23(日) 15:46:34.98ID:qffc/3mK454デフォルトの名無しさん
2018/12/23(日) 15:47:44.56ID:yKwr45+F 最初のttyって何やってるの?
455デフォルトの名無しさん
2018/12/23(日) 15:50:21.95ID:qffc/3mK 使ってる端末が
どのデバイスファイルと結びついてるかを返す
これ以上いちいち説明する気はない
やる気があるなら、自分でman読んで覚えたほうがいい
どのデバイスファイルと結びついてるかを返す
これ以上いちいち説明する気はない
やる気があるなら、自分でman読んで覚えたほうがいい
456デフォルトの名無しさん
2018/12/23(日) 15:58:49.60ID:yKwr45+F457デフォルトの名無しさん
2018/12/23(日) 15:59:58.24ID:z3o8Rgch 荒らしに構うのも荒らしということでNGIDを増やした
458デフォルトの名無しさん
2018/12/23(日) 16:22:49.84ID:qffc/3mK ちなみにオレもSASデータを作成する処理の対応をしたことがある
dbmsの抽出結果を直接投入したりcsvから投入したりしてる
sasは欠損値や日付の取り扱いにクセがあるから
データ加工をちゃんとしないとそのままでは大体投入できない
当然そういったデータ加工もsasへの投入も日次のJOBとして毎日シェルが呼び出されるようになってる
データセットは毎日更新され続ける
データセットを作成したあとは、ほとんどSASだけで完結できるのは、そのとおりだ
それとパワー系池沼シェルがウンコなのとはなんの関係もない
パワー系池沼シェルからexcel操作するのと変わらん話だからな
まずシェルというもんがなにか分かってない
dbmsの抽出結果を直接投入したりcsvから投入したりしてる
sasは欠損値や日付の取り扱いにクセがあるから
データ加工をちゃんとしないとそのままでは大体投入できない
当然そういったデータ加工もsasへの投入も日次のJOBとして毎日シェルが呼び出されるようになってる
データセットは毎日更新され続ける
データセットを作成したあとは、ほとんどSASだけで完結できるのは、そのとおりだ
それとパワー系池沼シェルがウンコなのとはなんの関係もない
パワー系池沼シェルからexcel操作するのと変わらん話だからな
まずシェルというもんがなにか分かってない
459デフォルトの名無しさん
2018/12/23(日) 16:35:42.95ID:BmCKKXji 【放射線ホルミシス効果】 全部バラしてヤバいよって言った方が、セルフガードするからいいと思います
http://rosie.5ch.net/test/read.cgi/liveplus/1545534951/l50
【嘘HK】 放射能と無関係を装って「心筋梗塞激増」
http://nhk2.5ch.net/test/read.cgi/nhk/1541301264/l50
http://rosie.5ch.net/test/read.cgi/liveplus/1545534951/l50
【嘘HK】 放射能と無関係を装って「心筋梗塞激増」
http://nhk2.5ch.net/test/read.cgi/nhk/1541301264/l50
460デフォルトの名無しさん
2018/12/23(日) 16:37:35.74ID:yKwr45+F そうですか使ってましたか。
私のところでは、DB自体に投入する前加工もSASでやっている。もう30年になるの
で、SASに投入するデータの加工はSAS事態でやっている。SASに渡すために
前処理する必要は全くなく生データからDBローディングまですべてSASで行っている、
UNIX上で扱うデータなら扱えないデータは基本ないので。
といっても、ここはPowerShellの掲示板なので、以降この話は控えます。
私のところでは、DB自体に投入する前加工もSASでやっている。もう30年になるの
で、SASに投入するデータの加工はSAS事態でやっている。SASに渡すために
前処理する必要は全くなく生データからDBローディングまですべてSASで行っている、
UNIX上で扱うデータなら扱えないデータは基本ないので。
といっても、ここはPowerShellの掲示板なので、以降この話は控えます。
461デフォルトの名無しさん
2018/12/23(日) 16:59:42.72ID:qffc/3mK SASなんかで加工してたら
まず限界時間にまに合わない
とてつもない大量のテーブルかつとてつもない大量のレコードがあるからな
SASおいてる計算機では
計算機に休む暇を与えてはいけない
投入以外の余計な処理をしてはいけない
この条件でひたすら投入のみになる
これで限界時間ギリギリになる
こんな状態でも予算つけてくれなかったからな
まず限界時間にまに合わない
とてつもない大量のテーブルかつとてつもない大量のレコードがあるからな
SASおいてる計算機では
計算機に休む暇を与えてはいけない
投入以外の余計な処理をしてはいけない
この条件でひたすら投入のみになる
これで限界時間ギリギリになる
こんな状態でも予算つけてくれなかったからな
462デフォルトの名無しさん
2018/12/23(日) 17:03:29.12ID:vUOt1bO/463デフォルトの名無しさん
2018/12/23(日) 17:41:39.11ID:9AXglOVX SAS自慢は別にスレ建ててやってくれ
1ミリも興味ないし
1ミリも興味ないし
464デフォルトの名無しさん
2018/12/23(日) 18:11:00.48ID:vUOt1bO/ みんな知っていたんだろうが、私は今はじめて気が付いたんだが
import-excel
export-excel
などなどが、知らないうちにサポートされていたんだ。
早速使ってみる。
いままで自分でしこしこやっていた。
import-excel
export-excel
などなどが、知らないうちにサポートされていたんだ。
早速使ってみる。
いままで自分でしこしこやっていた。
465デフォルトの名無しさん
2018/12/23(日) 18:29:11.84ID:vUOt1bO/ 使ってみたが、シートが大きくなるとめちゃくちゃ遅い
う〜〜ん・・・・
う〜〜ん・・・・
466デフォルトの名無しさん
2018/12/23(日) 18:59:18.04ID:9AXglOVX467デフォルトの名無しさん
2018/12/23(日) 19:26:10.52ID:vUOt1bO/ >>466
入れた記憶がないんだけど・・・・それを入れたんだろうな
ボケが始まったかな?
そういえば、excelなしでexcelファイル生成みたいな話でそれをダウンロード
していたかもしれない。ちょっと喜んだんだが、xmlベースでのこの処理は
ちょっと私からすると使い物にならない。
仕方ないんでお手製の、comobject利用で行きたいと思います。
入れた記憶がないんだけど・・・・それを入れたんだろうな
ボケが始まったかな?
そういえば、excelなしでexcelファイル生成みたいな話でそれをダウンロード
していたかもしれない。ちょっと喜んだんだが、xmlベースでのこの処理は
ちょっと私からすると使い物にならない。
仕方ないんでお手製の、comobject利用で行きたいと思います。
468デフォルトの名無しさん
2018/12/24(月) 09:16:30.66ID:dTDa6WWm しかし、この公開モジュールもったいない。改善すれば大変便利
他のサイトで回答したんだけど、データ大きくなければ、結構使える
次の例はexcelブック読んで、性別(列名)の男子だけ抽出して
新たなブック作成した例
(Import-Excel .\Member.xlsx).Where{$_.性別 -eq "男子"}|
Export-Excel .\NewMember.xlsx
これだけでも便利。自分でコマンドレット作っちゃおうかという気が
ムクムクと・・・・
他のサイトで回答したんだけど、データ大きくなければ、結構使える
次の例はexcelブック読んで、性別(列名)の男子だけ抽出して
新たなブック作成した例
(Import-Excel .\Member.xlsx).Where{$_.性別 -eq "男子"}|
Export-Excel .\NewMember.xlsx
これだけでも便利。自分でコマンドレット作っちゃおうかという気が
ムクムクと・・・・
469デフォルトの名無しさん
2018/12/24(月) 17:12:10.50ID:X+oEGSDK SAS : 睡眠時無呼吸症候群 (Sleep Apnea Syndrome)
470デフォルトの名無しさん
2018/12/29(土) 14:12:24.74ID:sblaCsBM 多次元配列$aと$bに数値要素を入れて
それらの要素を同じ要素同士で足したり引いたり掛けたりしたものを
同じ構造の多次元配列$cに入れようとしましたが、
powershellの多次元配列の作り方が分かっていないのか、どうしても1つの成分に1つの数値が入りません
$a=@(@(1,2),@(3,4))
$b=@(@(7,8),@(9,10))
$c = New-Object "object[,]" 2,2
だとダメなんですかね?
それらの要素を同じ要素同士で足したり引いたり掛けたりしたものを
同じ構造の多次元配列$cに入れようとしましたが、
powershellの多次元配列の作り方が分かっていないのか、どうしても1つの成分に1つの数値が入りません
$a=@(@(1,2),@(3,4))
$b=@(@(7,8),@(9,10))
$c = New-Object "object[,]" 2,2
だとダメなんですかね?
471デフォルトの名無しさん
2018/12/29(土) 14:18:25.07ID:alN1JQ5R >同じ構造の
同じ構造じゃない
ジャグ配列で検索してみてからまた来てくれ
同じ構造じゃない
ジャグ配列で検索してみてからまた来てくれ
472デフォルトの名無しさん
2018/12/29(土) 15:15:38.87ID:KNALm1aR >>470
そういう質問もいいけど
一つ上の層に行って、何をしたいかを聞いてみてもいいかもよ。
そこにもっていかなくても良い手段、あるいは適切なコマンドレットが
すでに存在しているかもしれないので。
余計なお世話で失礼かなとは思ったけど。
そういう質問もいいけど
一つ上の層に行って、何をしたいかを聞いてみてもいいかもよ。
そこにもっていかなくても良い手段、あるいは適切なコマンドレットが
すでに存在しているかもしれないので。
余計なお世話で失礼かなとは思ったけど。
473デフォルトの名無しさん
2018/12/29(土) 15:46:12.70ID:/U5cTh+v まぁこれだと「ダメです」としか返ってこないもんね
474デフォルトの名無しさん
2018/12/29(土) 17:29:03.55ID:sblaCsBM $a = New-Object "object[,]" 2,2
$a[0,0] = 1
$a[0,1] = 2
$a[1,0] = 3
$a[1,1] = 4
$b = New-Object "object[,]" 2,2
$b[0,0] = 7
$b[0,1] = 8
$b[1,0] = 9
$b[1,1] = 10
$c = New-Object "object[,]" 2,2
$c[0,0] = $a[0,0] + $b[0,0]
$c[0,1] = $a[0,1] + $b[0,1]
$c[1,0] = $a[1,0] + $b[1,0]
$c[1,1] = $a[1,1] + $b[1,1]
echo $c
出来ました
ありがとうございました
$a[0,0] = 1
$a[0,1] = 2
$a[1,0] = 3
$a[1,1] = 4
$b = New-Object "object[,]" 2,2
$b[0,0] = 7
$b[0,1] = 8
$b[1,0] = 9
$b[1,1] = 10
$c = New-Object "object[,]" 2,2
$c[0,0] = $a[0,0] + $b[0,0]
$c[0,1] = $a[0,1] + $b[0,1]
$c[1,0] = $a[1,0] + $b[1,0]
$c[1,1] = $a[1,1] + $b[1,1]
echo $c
出来ました
ありがとうございました
475デフォルトの名無しさん
2018/12/29(土) 17:52:09.19ID:sblaCsBM $a = New-Object "object[,]" 2,2
$a[0,0] = 1.0
$a[0,1] = 2.0
$a[1,0] = 3.0
$a[1,1] = 4.0
$b = New-Object "object[,]" 2,2
$b[0,0] = 7.0
$b[0,1] = 8.0
$b[1,0] = 9.0
$b[1,1] = 10.0
$c = New-Object "object[,]" 2,2
$c[0,0] = 0.4*$a[1,0] + 0.6*$b[0,1]
$c[0,1] = 1.2*$a[0,0] + 0.2*$b[1,1]
$c[1,0] = 0.6*$a[0,0] + 0.8*$b[1,1]
$c[1,1] = 0.3*$a[1,0] + 0.7*$b[0,1]
echo $c
PS [ディレクトリ] .\array3.ps1
6
3.2
8.6
6.5
こういうのも出来ました
ありがとうございました
2乗とか平方根とかも入れてwhileで多数回回して時代遅れのカオス論ごっこで楽しみます
$a[0,0] = 1.0
$a[0,1] = 2.0
$a[1,0] = 3.0
$a[1,1] = 4.0
$b = New-Object "object[,]" 2,2
$b[0,0] = 7.0
$b[0,1] = 8.0
$b[1,0] = 9.0
$b[1,1] = 10.0
$c = New-Object "object[,]" 2,2
$c[0,0] = 0.4*$a[1,0] + 0.6*$b[0,1]
$c[0,1] = 1.2*$a[0,0] + 0.2*$b[1,1]
$c[1,0] = 0.6*$a[0,0] + 0.8*$b[1,1]
$c[1,1] = 0.3*$a[1,0] + 0.7*$b[0,1]
echo $c
PS [ディレクトリ] .\array3.ps1
6
3.2
8.6
6.5
こういうのも出来ました
ありがとうございました
2乗とか平方根とかも入れてwhileで多数回回して時代遅れのカオス論ごっこで楽しみます
476デフォルトの名無しさん
2018/12/30(日) 16:51:48.83ID:Tt0EhWYe よかったよかった
477デフォルトの名無しさん
2018/12/31(月) 02:48:07.85ID:E3GRK6g9 Ruby の行列を使った方が良さそう
478デフォルトの名無しさん
2018/12/31(月) 06:10:51.81ID:hv1/uFm+ >Ruby の行列を使った方が良さそう
わざわざRuby使うくらいならR使うでしょうに
わざわざRuby使うくらいならR使うでしょうに
479デフォルトの名無しさん
2018/12/31(月) 10:17:55.48ID:4o6gq25f Get-Chlditem の -System オプションて機能してなくね? 5.1と6.1で検証した
https://docs.microsoft.com/ja-jp/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem?view=powershell-6
https://docs.microsoft.com/ja-jp/powershell/module/Microsoft.PowerShell.Management/Get-ChildItem?view=powershell-6
480デフォルトの名無しさん
2018/12/31(月) 10:51:50.10ID:4o6gq25f 使えないのでこんな風にしてる
gci -force |?{$_.Mode -match 's'}
gci -force |?{$_.Mode -match 's'}
481デフォルトの名無しさん
2018/12/31(月) 13:52:03.55ID:i7poOdM+482デフォルトの名無しさん
2018/12/31(月) 20:02:41.24ID:4o6gq25f -force ないと機能しないのか…
483デフォルトの名無しさん
2019/01/01(火) 03:34:35.89ID:ssh3fXac Ruby の行列では、
a = Matrix[[1, 2], [3, 4]]
b = Matrix[[7, 8], [9, 10]]
p a + b
結果
[[8, 10], [12, 14]]
a = Matrix[[1, 2], [3, 4]]
b = Matrix[[7, 8], [9, 10]]
p a + b
結果
[[8, 10], [12, 14]]
484デフォルトの名無しさん
2019/01/01(火) 09:29:48.04ID:HeFEoGOE485デフォルトの名無しさん
2019/01/01(火) 10:43:40.32ID:ISJZg14N Rならこんな感じになるのかな?
a <- matrix(1:4, 2, 2, byrow=T)
b <- matrix(7:10, 2, 2, byrow=T)
a <- a[,1]
b <- b[,2]
matrix(c(0.4, 0.6, 1.2, 0.3), 2, 2)
* rbind(rev(a), a)
+ matrix(c(0.6, 0.8, 0.2, 0.7), 2, 2)
* rbind(b, rev(b))
結果をimage関数に渡してループすると綺麗にチカチカするんだろうか
a <- matrix(1:4, 2, 2, byrow=T)
b <- matrix(7:10, 2, 2, byrow=T)
a <- a[,1]
b <- b[,2]
matrix(c(0.4, 0.6, 1.2, 0.3), 2, 2)
* rbind(rev(a), a)
+ matrix(c(0.6, 0.8, 0.2, 0.7), 2, 2)
* rbind(b, rev(b))
結果をimage関数に渡してループすると綺麗にチカチカするんだろうか
486デフォルトの名無しさん
2019/01/01(火) 16:03:09.00ID:T6MHXAKy SAS/IMLだと
a={1 2,3 4};
b={7 8,9 10};
c=a+b;
print c;
a={1 2,3 4};
b={7 8,9 10};
c=a+b;
print c;
487デフォルトの名無しさん
2019/01/01(火) 16:25:47.24ID:BBGreIch 行列系数値計算ならJuliaも使いやすい
a = [1 2; 3 4]
b = [7 8; 9 10]
print(a + b)
a = [1 2; 3 4]
b = [7 8; 9 10]
print(a + b)
488デフォルトの名無しさん
2019/01/01(火) 16:57:52.05ID:UIhiNbM3 はっきりしているのは、どれもめちゃ遅い
489デフォルトの名無しさん
2019/01/01(火) 16:59:31.69ID:UIhiNbM3 アルゴリズムを考えたり検証したりには
便利という仕組みですね。
これはこれで価値がある。
便利という仕組みですね。
これはこれで価値がある。
490デフォルトの名無しさん
2019/01/02(水) 00:00:30.28ID:uM4gOpCa いろんな言語で書いてくれてるけど
元のソースは行列の単純な和なんて求めてないよね
どうせなら元ソースのエレガントな移植が見たい
元のソースは行列の単純な和なんて求めてないよね
どうせなら元ソースのエレガントな移植が見たい
491デフォルトの名無しさん
2019/01/02(水) 07:11:32.67ID:JfU1VO50 元のソースは何らかのルールに沿ってたものなのでしょうか
492デフォルトの名無しさん
2019/01/02(水) 15:30:48.31ID:meZPNJeK rubyガイジのフリにまんまと乗ったアホ共が悪い
493デフォルトの名無しさん
2019/01/02(水) 16:52:22.21ID:sVSsgdXZ まあ、乗ったというより
別にRubyに求めてないし、それが目的なら
もっといいものがあるよいうことを
Rubyフェチの方に教えてあげただけ。
PowerShellはそこを求めたものとちゃうから。
別にRubyに求めてないし、それが目的なら
もっといいものがあるよいうことを
Rubyフェチの方に教えてあげただけ。
PowerShellはそこを求めたものとちゃうから。
494デフォルトの名無しさん
2019/01/02(水) 16:57:28.69ID:PMrmWLAE 一般人の正月:和歌を読んで批評し合う
逸般人の正月:コードを書いて批評し合う
逸般人の正月:コードを書いて批評し合う
495デフォルトの名無しさん
2019/01/02(水) 17:56:16.48ID:Q1TcDhg4 誤)コードを書いて批評し合う
正)コードを書いてマウントごっこ
正)コードを書いてマウントごっこ
496デフォルトの名無しさん
2019/01/03(木) 09:21:05.05ID:e4doPVb1 コードも書かずにマウントごっこするよりはマシかな
497デフォルトの名無しさん
2019/01/03(木) 14:18:46.18ID:EIDJLiBS 出力内容に日本語(2バイト文字)が含まれているとテーブル表示の際にカラムがズレる、ってのは回避方法がないのかな。
https://i.imgur.com/qMJ9fag.png
chcp 437 で英語モードに、って小細工も、Win10/srv2016 以降は出来なくなってる。
# 今気づいたが Unicode の時代に「2バイト文字」って表現は正しくないな
https://i.imgur.com/qMJ9fag.png
chcp 437 で英語モードに、って小細工も、Win10/srv2016 以降は出来なくなってる。
# 今気づいたが Unicode の時代に「2バイト文字」って表現は正しくないな
498デフォルトの名無しさん
2019/01/03(木) 19:10:30.43ID:9E4VKJOH あきらめてOut-GridViewを使うとか
499デフォルトの名無しさん
2019/01/08(火) 18:45:23.42ID:EC3N2/DB パワーシェルってカテゴリ的にはスクリプト・プログラム言語?それともWindowsのソフトウェア?
500デフォルトの名無しさん
2019/01/08(火) 19:49:18.08ID:GRXV3JJ2 どちらも
シェルと言語に同じ名前が付けられてる(後者はPowerShell Scriptと言ったりするけど)
シェルと言語に同じ名前が付けられてる(後者はPowerShell Scriptと言ったりするけど)
501デフォルトの名無しさん
2019/01/08(火) 20:23:14.66ID:twi+nGjw なるほど
バッチファイルの場合、言語がMS-DOSでソフトウェアの名前がbatって感じかな
バッチファイルの場合、言語がMS-DOSでソフトウェアの名前がbatって感じかな
502デフォルトの名無しさん
2019/01/08(火) 20:34:38.44ID:GRXV3JJ2 全部ずれてる
503デフォルトの名無しさん
2019/01/08(火) 20:45:30.53ID:Ri9uFdMr bashとシェルスクリプト
command.comとバッチスクリプト
コマンドプロンプト(cmd.exe)とバッチスクリプト
powershell.exeとpowershellスクリプト
command.comとバッチスクリプト
コマンドプロンプト(cmd.exe)とバッチスクリプト
powershell.exeとpowershellスクリプト
504デフォルトの名無しさん
2019/01/08(火) 21:11:05.43ID:Ri9uFdMr つかシェルとシェルスクリプト
PowershellとPowershellスクリプト
が一番わかり易かったな
PowershellとPowershellスクリプト
が一番わかり易かったな
505デフォルトの名無しさん
2019/01/08(火) 22:08:03.20ID:twi+nGjw むずかしい!w
506デフォルトの名無しさん
2019/01/09(水) 02:01:23.48ID:9kxsD7dR 別の言い方としてフロントエンドがある
フロントエンドの形態としてシェル、
シェルの機能としてスクリプトの実行という感じ
フロントエンドの形態としてシェル、
シェルの機能としてスクリプトの実行という感じ
507デフォルトの名無しさん
2019/01/09(水) 14:51:11.50ID:teNQqIfe PowerShellができるようになると何がいい?
508デフォルトの名無しさん
2019/01/09(水) 17:40:53.83ID:iwuLoYXa >>507
あなたの職業、PCの使いみち次第なので、そこが明らかじゃないとなんとも言えない。
あなたの職業、PCの使いみち次第なので、そこが明らかじゃないとなんとも言えない。
509デフォルトの名無しさん
2019/01/09(水) 19:51:08.47ID:nNa8IYsJ510デフォルトの名無しさん
2019/01/09(水) 21:58:57.96ID:LPlKYmug それな
今どきの企業はセキュリティポリシーがしっかりしていて
PythonだのRubyだの入れたくてもできないからな
今どきの企業はセキュリティポリシーがしっかりしていて
PythonだのRubyだの入れたくてもできないからな
511デフォルトの名無しさん
2019/01/09(水) 22:13:34.50ID:WxZlp6Z9 >>507
事務職の俺が思うメリット・デメリット。
■PowerShellに限らないプログラミングのメリット
PCを使った繰り返し作業を省力化できる。例えば、
ファイルの名前変更と移動を定型で定期的にやるとか、
同じWebサイトにアクセスして毎回似たようなことをするとか、
お客さんとか他の部署から送られてくる使いづらいExcelのデータを
シンプルな表に整形するとか。
■PowerShellならではのメリット
他の人も書いてるけど、Windowsに最初から入ってる。
スクリプトファイルを渡すだけで同僚にも使ってもらえる。
(起動用のbatファイルとか、タスクスケジューラの設定とかは必要だけど)
■デメリット
全くのプログラミング素人には難しいと思う。
初めてなら、Pythonあたりを先に勉強した方がいいかも。
「パイプラインではオブジェクトが受け渡しされる」とかいわれても
初心者には何のことか分からんと思うし(俺もいまだにしっくり来てない)
適当に解説している入門書とかWebサイトには
「retrun文の後ろの値が、関数の戻り値になります」といった、
嘘じゃないけど嘘に等しいことが書いてあって初心者は訳がわからなくなる。
俺もトライアンドエラーばかりで、きちんと習得できてないです。
事務職の俺が思うメリット・デメリット。
■PowerShellに限らないプログラミングのメリット
PCを使った繰り返し作業を省力化できる。例えば、
ファイルの名前変更と移動を定型で定期的にやるとか、
同じWebサイトにアクセスして毎回似たようなことをするとか、
お客さんとか他の部署から送られてくる使いづらいExcelのデータを
シンプルな表に整形するとか。
■PowerShellならではのメリット
他の人も書いてるけど、Windowsに最初から入ってる。
スクリプトファイルを渡すだけで同僚にも使ってもらえる。
(起動用のbatファイルとか、タスクスケジューラの設定とかは必要だけど)
■デメリット
全くのプログラミング素人には難しいと思う。
初めてなら、Pythonあたりを先に勉強した方がいいかも。
「パイプラインではオブジェクトが受け渡しされる」とかいわれても
初心者には何のことか分からんと思うし(俺もいまだにしっくり来てない)
適当に解説している入門書とかWebサイトには
「retrun文の後ろの値が、関数の戻り値になります」といった、
嘘じゃないけど嘘に等しいことが書いてあって初心者は訳がわからなくなる。
俺もトライアンドエラーばかりで、きちんと習得できてないです。
512デフォルトの名無しさん
2019/01/09(水) 22:16:39.66ID:WxZlp6Z9 間違えた
return文でした・・・
return文でした・・・
513デフォルトの名無しさん
2019/01/09(水) 22:17:35.75ID:nNa8IYsJ すごいHaskell本を借りて100ページくらい読んだら、PowerShellの関数型風な書き方も割と理解できるようになった
514デフォルトの名無しさん
2019/01/09(水) 22:19:11.83ID:nNa8IYsJ 関数型風というか勝手にOut-Defaultがつく挙動がそう見えるだけかもしれないけど
515デフォルトの名無しさん
2019/01/10(木) 00:11:38.57ID:jhx89QXs 関数型は、Ruby, jQuery(JavaScript)。
map というメソッドを頻繁に使う
PowerShell(PS)の延長線上に、Rubyがある
バッチファイル → PS
シェルスクリプト → Ruby
バッチファイル・シェルスクリプトは、とにかく、ハマリが多い!
プログラミングに適さない
map というメソッドを頻繁に使う
PowerShell(PS)の延長線上に、Rubyがある
バッチファイル → PS
シェルスクリプト → Ruby
バッチファイル・シェルスクリプトは、とにかく、ハマリが多い!
プログラミングに適さない
516デフォルトの名無しさん
2019/01/10(木) 00:25:40.33ID:mktY/a5R dosならまだしもwinで無理やり拡腸されたのはちょっとね・・・
517デフォルトの名無しさん
2019/01/10(木) 00:28:19.57ID:FheW454d >>515
この人は何でいつも同じような論調でどこにでも現れるのだろうか。
やたらruby推しするわりには具体的なrubyの良さが全く伝わってこなくて、むしろマイナスイメージをばら蒔いているような気がする。
この人は何でいつも同じような論調でどこにでも現れるのだろうか。
やたらruby推しするわりには具体的なrubyの良さが全く伝わってこなくて、むしろマイナスイメージをばら蒔いているような気がする。
518デフォルトの名無しさん
2019/01/10(木) 00:33:03.30ID:jxmC/C32 >>516
誤字がひどい
誤字がひどい
519デフォルトの名無しさん
2019/01/10(木) 04:58:55.23ID:Pqz/qBav520デフォルトの名無しさん
2019/01/10(木) 05:25:45.52ID:nf36oLbM >>519
それを言うなら、batとvbsやJscriptを組み合わせてようやく出来てたことが、よりPowershellでは少ないコーディングで同等以上の機能を実現できる。て書こうよ
それを言うなら、batとvbsやJscriptを組み合わせてようやく出来てたことが、よりPowershellでは少ないコーディングで同等以上の機能を実現できる。て書こうよ
521デフォルトの名無しさん
2019/01/10(木) 05:57:47.50ID:Pqz/qBav >>520
処理をちょっと追加・変更したくなったときにすぐほかの言語の利用や外部コマンド調達が必要になることを含めて、実現までに手間を要する、と言ったんだけどね
vbs等を覚えてそちら主体で書く前提なら、別途そういう視点での比較論を語ってくれ
処理をちょっと追加・変更したくなったときにすぐほかの言語の利用や外部コマンド調達が必要になることを含めて、実現までに手間を要する、と言ったんだけどね
vbs等を覚えてそちら主体で書く前提なら、別途そういう視点での比較論を語ってくれ
522デフォルトの名無しさん
2019/01/10(木) 06:03:49.10ID:nf36oLbM MSの意図も、現実の普及や活用もvbsはbatの補間機能だよ、それらの一括後継がPowershell、そんなことを今更説明しなきゃならんとは残念至極
つかvbs覚えずにbatだけでwinの管理ワークなんかできなかったよ
つかvbs覚えずにbatだけでwinの管理ワークなんかできなかったよ
523デフォルトの名無しさん
2019/01/10(木) 07:54:48.12ID:e7V8oUZV パワーシェルとrubyは似てる言語なの?
僕とかパワーシェルマスターベーションなのでruby勉強してみようかな
僕とかパワーシェルマスターベーションなのでruby勉強してみようかな
524デフォルトの名無しさん
2019/01/10(木) 12:28:31.19ID:8HdqxYaB >>517
ruby を NG してる
ruby を NG してる
525デフォルトの名無しさん
2019/01/10(木) 17:29:11.64ID:jhx89QXs そりゃ、Ruby がベスト。
Vagrant, Chef, Homebrew, Redmine も、Ruby
JavaScript(JS)は、Ruby に似せてくるから、扱いやすい。
Node.js のnpm, yarn も、Ruby のBundler そっくり。
GUI は、HTML, CSS, JS
再帰的なディレクトリのファイル操作も、glob がある
オブジェクト指向・関数型・Duck Typing・Open Class など、あらゆるデザインパターンの宝庫
Ruby から、PowerShell も呼べる。
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ダブルクリックで起動したい時だけ、VBS を使っている
ピラフ大王は、PowerShellで、5ch をスクレイピングするほどだけど、
漏れは、Ruby, Selenium Webdriver でやってる
「たのしいRuby 第5版、2016」でも読めば?
Vagrant, Chef, Homebrew, Redmine も、Ruby
JavaScript(JS)は、Ruby に似せてくるから、扱いやすい。
Node.js のnpm, yarn も、Ruby のBundler そっくり。
GUI は、HTML, CSS, JS
再帰的なディレクトリのファイル操作も、glob がある
オブジェクト指向・関数型・Duck Typing・Open Class など、あらゆるデザインパターンの宝庫
Ruby から、PowerShell も呼べる。
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ダブルクリックで起動したい時だけ、VBS を使っている
ピラフ大王は、PowerShellで、5ch をスクレイピングするほどだけど、
漏れは、Ruby, Selenium Webdriver でやってる
「たのしいRuby 第5版、2016」でも読めば?
526デフォルトの名無しさん
2019/01/10(木) 17:49:28.58ID:3kN+h5hG インテリセンスしょぼすぎ
527デフォルトの名無しさん
2019/01/10(木) 18:07:50.47ID:vGEkHdSz >>524
俺もそうする
俺もそうする
528デフォルトの名無しさん
2019/01/10(木) 18:08:40.70ID:ct6DIWcV529デフォルトの名無しさん
2019/01/10(木) 18:11:49.88ID:SOl/xRps どんどんrubyの評判を下げてるのがわからんのかねぇ
530525
2019/01/10(木) 18:45:39.00ID:jhx89QXs 漏れは、PowerShell で数行書くなら、Ruby で作ってしまう
クリップボードみたいなのは、Rubyから、PowerShellコマンドを呼ぶ。
ダブルクリックで起動したい時は、VBS・bat を使う
Rubyから、Node.js を呼ぶとか、すべての言語を呼び出せるかも
クリップボードみたいなのは、Rubyから、PowerShellコマンドを呼ぶ。
ダブルクリックで起動したい時は、VBS・bat を使う
Rubyから、Node.js を呼ぶとか、すべての言語を呼び出せるかも
531デフォルトの名無しさん
2019/01/10(木) 18:48:24.32ID:ntFiGaUH なるほどrubyじゃ何もできないってことだね
532デフォルトの名無しさん
2019/01/10(木) 19:03:20.25ID:3kN+h5hG IronRubyってどうなったの?
533デフォルトの名無しさん
2019/01/10(木) 20:51:10.85ID:UUY7OixD (かつて)仕様書が存在しない処理系を複製するなんてやってられなくなったんじゃないか?
534デフォルトの名無しさん
2019/01/14(月) 13:22:32.56ID:i1odpryK powershellのメリットは対話環境とスクリプトが同一の文法て書けること
ISEやVS codeで小さなブロックの挙動を確認しながら、それらを組み合わせて一連のワークフローを構築できる
『トライ&エラーで作ってる』って方がいたけど、まさにそういったやり方が出来ることが、専門職じゃなくて日常業務の効率化に使ってる自分にとって凄く大きな利点
ISEやVS codeで小さなブロックの挙動を確認しながら、それらを組み合わせて一連のワークフローを構築できる
『トライ&エラーで作ってる』って方がいたけど、まさにそういったやり方が出来ることが、専門職じゃなくて日常業務の効率化に使ってる自分にとって凄く大きな利点
535デフォルトの名無しさん
2019/01/14(月) 16:32:26.56ID:mUB6pFvH >>534
>powershellのメリットは対話環境とスクリプトが同一の文法て書けること
まさに同じ利点なんだけど、TIPS集みたいな感じでテキストファイルに数行のスクリプトをいくつも集めておいて
必要になったらそこからpowershellウインドウにコピペで即実行できるのがいいね
>powershellのメリットは対話環境とスクリプトが同一の文法て書けること
まさに同じ利点なんだけど、TIPS集みたいな感じでテキストファイルに数行のスクリプトをいくつも集めておいて
必要になったらそこからpowershellウインドウにコピペで即実行できるのがいいね
536デフォルトの名無しさん
2019/01/14(月) 17:38:40.92ID:i1odpryK537デフォルトの名無しさん
2019/01/15(火) 07:41:15.21ID:PNg+c5Yb 文化の変化には拒絶反応があるもの
過去のシェルでつけられてきた命令等の名前付けルールを見ても、
今のようにIT文化が広がった時のが目の利用者目線でつけられたものではなく、
あくまでOS周りのシステム開発者と利用者が同一だった時代、要は試行段階の
時代につけられが規則で、今の時代に合わなくなっている。
そこに風穴開けたのは大変良いことだろう。
既存の使い方に慣れた人にとっては、新たな流れは「また覚えることが増える」
「使い方が今までと違う」ということへの拒否反応が少なからずある。
やり取りを見ていて思ったのは、すでに旧来Unix系シェルのルールにのっとって
作られてきたものがレガシーに向かっていると思いたくない、気が付かないひとが
多いこと。時代は変化してゆく。
過去のシェルでつけられてきた命令等の名前付けルールを見ても、
今のようにIT文化が広がった時のが目の利用者目線でつけられたものではなく、
あくまでOS周りのシステム開発者と利用者が同一だった時代、要は試行段階の
時代につけられが規則で、今の時代に合わなくなっている。
そこに風穴開けたのは大変良いことだろう。
既存の使い方に慣れた人にとっては、新たな流れは「また覚えることが増える」
「使い方が今までと違う」ということへの拒否反応が少なからずある。
やり取りを見ていて思ったのは、すでに旧来Unix系シェルのルールにのっとって
作られてきたものがレガシーに向かっていると思いたくない、気が付かないひとが
多いこと。時代は変化してゆく。
538デフォルトの名無しさん
2019/01/16(水) 08:35:02.57ID:8/OmqdoX v6.1.2 Release of PowerShell Core
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.2
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.2
539デフォルトの名無しさん
2019/01/16(水) 18:21:31.35ID:Y6YhZRdL >>538
あんがとさん
あんがとさん
540デフォルトの名無しさん
2019/01/31(木) 21:35:30.95ID:AeQOSKqu &{
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
Get-Date
上を実行すると1秒ごとにカウントされた値がウインドウ表示されるけど、
ウインドウを閉じたときにそれ以降のコマンド(Get-Date)が実行されず終了するのどう回避すればいいだろう・・・?
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
Get-Date
上を実行すると1秒ごとにカウントされた値がウインドウ表示されるけど、
ウインドウを閉じたときにそれ以降のコマンド(Get-Date)が実行されず終了するのどう回避すればいいだろう・・・?
541デフォルトの名無しさん
2019/01/31(木) 21:44:25.79ID:AeQOSKqu Whileの継続判定を
$stop_form = Start-Job {
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null
Start-Sleep -Milliseconds 500
[System.Windows.Forms.MessageBox]::Show("計測停止ボタン")
}
のフォームを使って
while($stop_form.state -eq "running"){...}
のようにもしてみたけれどウインドウ2個表示されるので方法として頭悪い・・・
$stop_form = Start-Job {
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null
Start-Sleep -Milliseconds 500
[System.Windows.Forms.MessageBox]::Show("計測停止ボタン")
}
のフォームを使って
while($stop_form.state -eq "running"){...}
のようにもしてみたけれどウインドウ2個表示されるので方法として頭悪い・・・
542デフォルトの名無しさん
2019/01/31(木) 22:18:49.56ID:xJsSt9Re Windows では、よく知らないけど、
Linux では、プロセスに親子関係がある
そして親プロセスが終了すると、子プロセスにも終了メッセージが送られて、
それに何も対処しないと、普通は子プロセスも終了する
つまり、親亀こけたら子亀もこける
シェルから起動したプロセスは、シェルの子プロセスになっている
だからデーモン・サービスのように、親プロセスから切り離すか、
親から終了メッセージが送られても、子が終了しないような工夫をする必要がある
また、パイプラインでは、ジョブという処理単位もあり、
ジョブグループにまとめられて、そのグループ全部に対して作用する
Linux では、プロセスに親子関係がある
そして親プロセスが終了すると、子プロセスにも終了メッセージが送られて、
それに何も対処しないと、普通は子プロセスも終了する
つまり、親亀こけたら子亀もこける
シェルから起動したプロセスは、シェルの子プロセスになっている
だからデーモン・サービスのように、親プロセスから切り離すか、
親から終了メッセージが送られても、子が終了しないような工夫をする必要がある
また、パイプラインでは、ジョブという処理単位もあり、
ジョブグループにまとめられて、そのグループ全部に対して作用する
543デフォルトの名無しさん
2019/01/31(木) 22:20:50.85ID:wdHuOMr6 >>540
while($true){++$i|out-gridview;sleep -seconds 1;get-date}
while($true){++$i|out-gridview;sleep -seconds 1;get-date}
544デフォルトの名無しさん
2019/01/31(木) 22:33:49.84ID:nQoHUWUF powershell {
&{
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
}
Get-Date
&{
while($true){
(++$i)
sleep -Seconds 1
}
} | Out-GridView
}
Get-Date
546542
2019/01/31(木) 23:44:01.11ID:xJsSt9Re Windows では知らないけど、
Linux なら、systemd で、サービスを起動できる
Linux なら、systemd で、サービスを起動できる
547デフォルトの名無しさん
2019/01/31(木) 23:44:18.82ID:AeQOSKqu548デフォルトの名無しさん
2019/01/31(木) 23:57:01.76ID:eCrLlhCC >Windows では知らないけど、
このひとなんなん
こわい
このひとなんなん
こわい
549デフォルトの名無しさん
2019/02/01(金) 07:42:04.59ID:92aZjlm0550デフォルトの名無しさん
2019/02/01(金) 09:45:34.37ID:CxyFcB/M551デフォルトの名無しさん
2019/02/01(金) 10:57:54.88ID:Df7lr2kE >>547
Out-GridView だけを、あちらで実行するとか。
GridView に表示するオブジェクトは、スレッドセーフでないといけないかも。
$run = [RunspaceFactory]::CreateRunspace()
$run.Open()
$ogv = $run.CreatePipeline()
$ogv.Commands.Add('ogv')
$ogv.InvokeAsync()
$exec = {$i = 0; for (;;) {(++$i); sleep 1}}
try {
& $exec | % {if ($run.RunspaceAvailability -ne 'Busy') {throw} $null = $ogv.Input.Write($_)}
}
catch {
Write-Warning 'GridView が閉じました。'
}
Get-Date
Out-GridView だけを、あちらで実行するとか。
GridView に表示するオブジェクトは、スレッドセーフでないといけないかも。
$run = [RunspaceFactory]::CreateRunspace()
$run.Open()
$ogv = $run.CreatePipeline()
$ogv.Commands.Add('ogv')
$ogv.InvokeAsync()
$exec = {$i = 0; for (;;) {(++$i); sleep 1}}
try {
& $exec | % {if ($run.RunspaceAvailability -ne 'Busy') {throw} $null = $ogv.Input.Write($_)}
}
catch {
Write-Warning 'GridView が閉じました。'
}
Get-Date
552デフォルトの名無しさん
2019/02/02(土) 21:37:38.54ID:GDLTgOlM もうOut-GridView側の処理は別ps1ファイルで別けて
メイン側からStart-Process に -NoNewWindow -PassThru -Wait つけて終了まで待って
終わったらメイン側の処理に戻ればいいんじゃね
ISEじゃ余分に窓出ちゃうけど直起動なら窓増えないし
結果受け取りが必要なら一手間いるけど
メイン側からStart-Process に -NoNewWindow -PassThru -Wait つけて終了まで待って
終わったらメイン側の処理に戻ればいいんじゃね
ISEじゃ余分に窓出ちゃうけど直起動なら窓増えないし
結果受け取りが必要なら一手間いるけど
553デフォルトの名無しさん
2019/02/03(日) 05:19:27.02ID:U6zkwiYj554デフォルトの名無しさん
2019/02/03(日) 10:45:58.13ID:p2YNM7CO PS > [bool]""
False
PS > [bool]$s
False
なので$nullではなく空白が代入されてる
代入の時点で型変換されてる?
False
PS > [bool]$s
False
なので$nullではなく空白が代入されてる
代入の時点で型変換されてる?
555デフォルトの名無しさん
2019/02/03(日) 11:34:45.18ID:gZVRTEN5 psのnullはnullじゃないってどこかで記事見たな
556デフォルトの名無しさん
2019/02/03(日) 12:12:22.77ID:p2YNM7CO PS > [string]$s -eq $null
False
PS > $s -eq $null
True
False
PS > $s -eq $null
True
557デフォルトの名無しさん
2019/02/03(日) 12:17:47.78ID:sBfvPdNi 型変換が定義されてるっぽいね
558デフォルトの名無しさん
2019/02/03(日) 12:58:35.28ID:jpAIKS8U $nullの型が何なのか調べればわかること
$null.GetType()
You cannot call a method on a null-valued expression.
At line:1 char:1
+ $null.GetType()
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
まとめ
結構嫌な感じですね。
$null.GetType()
You cannot call a method on a null-valued expression.
At line:1 char:1
+ $null.GetType()
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
まとめ
結構嫌な感じですね。
559デフォルトの名無しさん
2019/02/03(日) 13:06:40.62ID:KnacfqZI560デフォルトの名無しさん
2019/02/03(日) 13:52:06.12ID:fFxNo4TL >>559
[string]::IsNullOrEmpty("") もtrueになるんだが
String.IsNullOrEmpty(String) Method
https://docs.microsoft.com/ja-jp/dotnet/api/system.string.isnullorempty
>指定された文字列が null または空の文字列 ("") であるかどうかを示します。
[string]::IsNullOrEmpty("") もtrueになるんだが
String.IsNullOrEmpty(String) Method
https://docs.microsoft.com/ja-jp/dotnet/api/system.string.isnullorempty
>指定された文字列が null または空の文字列 ("") であるかどうかを示します。
561デフォルトの名無しさん
2019/02/03(日) 14:28:24.77ID:gZVRTEN5 うーむ・・・
[string]$s = $null
$s -eq [string]$null
$s -eq $null
$s.GetType()
True
False
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
Remove-Variable s
$s -eq [string]$null
$s -eq $null
$s.GetType()
False
True
null 値の式ではメソッドを呼び出せません。
発生場所 行:5 文字:1
+ $s.GetType()
+ ~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) []、RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
[string]$s = $null
$s -eq [string]$null
$s -eq $null
$s.GetType()
True
False
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
Remove-Variable s
$s -eq [string]$null
$s -eq $null
$s.GetType()
False
True
null 値の式ではメソッドを呼び出せません。
発生場所 行:5 文字:1
+ $s.GetType()
+ ~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) []、RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
562デフォルトの名無しさん
2019/02/03(日) 14:38:16.60ID:KnacfqZI563デフォルトの名無しさん
2019/02/03(日) 14:53:04.55ID:KnacfqZI 可能であれば [string]$s=$null
でなく [object]$s=$null でよければ
ならば、普通に比較ができるんだけどね
でなく [object]$s=$null でよければ
ならば、普通に比較ができるんだけどね
564デフォルトの名無しさん
2019/02/03(日) 14:53:36.20ID:KnacfqZI 何でフォントが変わったんだろ?
565デフォルトの名無しさん
2019/02/03(日) 17:18:00.01ID:gLy6KBGU stringやintはC#と同じくnull許容型ではないということだな
[string]$s = $null
$s
// 代入時にキャストされ空文字列になる
[int]$i = $null
$i
// 代入時にキャストされ0になる
[Nullable[string]]$s = $null
$s
// $nullが代入できる
[string]$s = $null
$s
// 代入時にキャストされ空文字列になる
[int]$i = $null
$i
// 代入時にキャストされ0になる
[Nullable[string]]$s = $null
$s
// $nullが代入できる
566デフォルトの名無しさん
2019/02/03(日) 17:37:25.59ID:KnacfqZI567デフォルトの名無しさん
2019/02/03(日) 17:47:48.25ID:KnacfqZI >>565
>[Nullable[string]]$s = $null
>$s
>// $nullが代入できる
やってみたら、今度は文字代入するとエラーになるぞよ
Unable to find type [Nullable[string]]. Details: 'System.Nullable`1[T]' 上の Gene
ricArguments[0]、'System.String' が型 'T' の制約に違反しています。
>[Nullable[string]]$s = $null
>$s
>// $nullが代入できる
やってみたら、今度は文字代入するとエラーになるぞよ
Unable to find type [Nullable[string]]. Details: 'System.Nullable`1[T]' 上の Gene
ricArguments[0]、'System.String' が型 'T' の制約に違反しています。
568デフォルトの名無しさん
2019/02/03(日) 18:06:20.48ID:gLy6KBGU ああすまん、[Nullable[string]] はダメだったか
intで動作確認してたわ
では訂正
PowerShellのstringはnullを許容しません、だな
intで動作確認してたわ
では訂正
PowerShellのstringはnullを許容しません、だな
569デフォルトの名無しさん
2019/02/03(日) 20:22:36.62ID:wQ2AkwMN >>566
C#8.0
C#8.0
570デフォルトの名無しさん
2019/02/14(木) 06:50:42.41ID:EWDxMe0z 今まであまり気にしてなかったけどPesterってめちゃくちゃ便利なんじゃねえか
他言語で書いたプログラムの結合テストがスゴく書きやすい
他言語で書いたプログラムの結合テストがスゴく書きやすい
571デフォルトの名無しさん
2019/02/14(木) 09:06:58.55ID:k6/DH+7Z >>570
いいもの教えてもらった。ありがとう。
いいもの教えてもらった。ありがとう。
572デフォルトの名無しさん
2019/02/14(木) 22:51:37.48ID:8Eclc9m3 powershellの標準出力やエラー出力を、自分で作成したフォームのTextBoxにリダイレクトできないでしょうか?
C#単体ではできたのですが、powershellの出力の仕組みがよくわからないので。
C#のConsole.SetOutやConsole.SetError相当のがないものかと。
C#単体ではできたのですが、powershellの出力の仕組みがよくわからないので。
C#のConsole.SetOutやConsole.SetError相当のがないものかと。
573デフォルトの名無しさん
2019/02/14(木) 23:42:44.14ID:CDGUBW/T >>572
Powershellから.Net Frameworkを利用できることは解ってる?
Powershellから.Net Frameworkを利用できることは解ってる?
574デフォルトの名無しさん
2019/02/15(金) 20:32:06.22ID:VV8Lu8eJ575デフォルトの名無しさん
2019/02/15(金) 22:37:05.29ID:JVFXEcJ1 >>573
既にpowershellスクリプト内のC#で出力用フォームを作っていて、
シェル上から
[System.Console]::WriteLine("hello from System.Console")
でフォームへの出力までは確認できてるのですが、
"hello from Write-Host" | Write-Host
とかのpowershellのパイプラインと結びつける方法が判りません。
という状態です
既にpowershellスクリプト内のC#で出力用フォームを作っていて、
シェル上から
[System.Console]::WriteLine("hello from System.Console")
でフォームへの出力までは確認できてるのですが、
"hello from Write-Host" | Write-Host
とかのpowershellのパイプラインと結びつける方法が判りません。
という状態です
576デフォルトの名無しさん
2019/02/15(金) 23:35:43.92ID:BkaZ3+61 Ruby で、1-liner のフィルタ。
ファイル名を大文字で表示する
ls | ruby -lne 'print $_.upcase'
ARGF を1行ずつ読み込んで、変数$_ に格納する。
ARGF とは、複数のファイルや標準入力を連結して、1つにした仮想ファイル
ruby -lne 'print $_.upcase' a.txt b.txt
sed -n, awk をエミュレートしたもの
ファイル名を大文字で表示する
ls | ruby -lne 'print $_.upcase'
ARGF を1行ずつ読み込んで、変数$_ に格納する。
ARGF とは、複数のファイルや標準入力を連結して、1つにした仮想ファイル
ruby -lne 'print $_.upcase' a.txt b.txt
sed -n, awk をエミュレートしたもの
577デフォルトの名無しさん
2019/02/15(金) 23:54:24.30ID:I8iEDAq8 sed、awkでいいな。
わざわざ100倍遅くする必要はない。
そして死ね。
わざわざ100倍遅くする必要はない。
そして死ね。
578デフォルトの名無しさん
2019/02/15(金) 23:55:34.76ID:Y7lTk+zi >>572
C#単体ではどうやって実現したの?
C#単体ではどうやって実現したの?
579デフォルトの名無しさん
2019/02/16(土) 12:36:04.55ID:td/FtdQ5580デフォルトの名無しさん
2019/02/17(日) 16:02:03.17ID:jxo9FooS powershellのソース読むとOut関係はそんなインターフェースが無いっぽいのが判ったので
全部%{[System.Console]::WriteLine($_)}に通すことにしました
全部%{[System.Console]::WriteLine($_)}に通すことにしました
581デフォルトの名無しさん
2019/02/19(火) 01:05:58.24ID:rqZOBHxw (494,500,"`nズン"),(523,300,"ズ"),(494,250,"ン"),(330,600,"ズン"),(330,250,"ド"),(330,250,"コ")|
%{write-host "`nズン♪";Add-Type -a System.speech;$s=[Speech.Synthesis.SpeechSynthesizer]::new();$s.rate=1;[Console]::Beep(330,500);sleep -m:600}{
write-host -n -f:(10..15|random) "$($_[2])♪";[console]::Beep($_[0],$_[1])}{
write-host -f:(10..15|random) "`n`nキヨシ!!`n";$s.Speak("きいっよおっしぃ いいいっ!");$s.Dispose()}
%{write-host "`nズン♪";Add-Type -a System.speech;$s=[Speech.Synthesis.SpeechSynthesizer]::new();$s.rate=1;[Console]::Beep(330,500);sleep -m:600}{
write-host -n -f:(10..15|random) "$($_[2])♪";[console]::Beep($_[0],$_[1])}{
write-host -f:(10..15|random) "`n`nキヨシ!!`n";$s.Speak("きいっよおっしぃ いいいっ!");$s.Dispose()}
582デフォルトの名無しさん
2019/02/19(火) 11:18:15.41ID:jsQqlcaV >>581
それ、しゃべるの?うちの環境では喋らなかった。
それ、しゃべるの?うちの環境では喋らなかった。
584デフォルトの名無しさん
2019/02/19(火) 14:42:09.09ID:cO5Algvr https://dev.classmethod.jp/server-side/problem-about-awspowershell-netcore-not-autoloaded/
> 4000以上のコマンドをエクスポートしているとPowerShell Galleryでの公開がリジェクトされてしまう
> 4000以上のコマンドをエクスポートしているとPowerShell Galleryでの公開がリジェクトされてしまう
585デフォルトの名無しさん
2019/02/19(火) 15:26:18.95ID:xz+0XgYy 似たようなのは、VSCodeでもあるね。
たとえば、C#のコンソールモジュール作ろうとして
dotnet new console -o xxx とやると
dotnet-new はありませんみたいな
たとえば、C#のコンソールモジュール作ろうとして
dotnet new console -o xxx とやると
dotnet-new はありませんみたいな
586デフォルトの名無しさん
2019/02/20(水) 14:59:45.45ID:MrRFAFnZ v6.1.3 Release of PowerShell Core
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.3
https://github.com/PowerShell/PowerShell/releases/tag/v6.1.3
587デフォルトの名無しさん
2019/02/23(土) 20:34:37.39ID:K6odEV0u WindowsでしかPS使わないんだけど
早めにWindowsPS5.1から、PS6.1に移行した方がいい?
5.1で作ったスクリプトとか、そのままだと6.1でほぼ動かないよね。
5.1でゴリゴリ作って資産を溜め込むと将来的に困った事になるのかな。
でも、6.1はドキュメントが整備されてなくて、調べるのが辛い。
早めにWindowsPS5.1から、PS6.1に移行した方がいい?
5.1で作ったスクリプトとか、そのままだと6.1でほぼ動かないよね。
5.1でゴリゴリ作って資産を溜め込むと将来的に困った事になるのかな。
でも、6.1はドキュメントが整備されてなくて、調べるのが辛い。
588デフォルトの名無しさん
2019/02/23(土) 21:00:34.25ID:mBphVd+l OSに標準搭載されるならともかく今は現状維持で良いんでない
スクリプトが軒並み動かんような破壊的な変更では無かったと思うけど
スクリプトが軒並み動かんような破壊的な変更では無かったと思うけど
589デフォルトの名無しさん
2019/02/23(土) 21:10:17.16ID:K6odEV0u .net flamework呼び出すスクリプトが多くて
ここをCoreに置き換えないといけないんだよね?
そこが上手くいけるのかなって。
PS自体の互換性は割と大丈夫っぽいんだけど。
ここをCoreに置き換えないといけないんだよね?
そこが上手くいけるのかなって。
PS自体の互換性は割と大丈夫っぽいんだけど。
590デフォルトの名無しさん
2019/02/23(土) 21:26:32.03ID:U8qcMvKV .NET Coreの範囲だったらいいけど、.NET Frameworkと比べるとすごく狭そうだからなあ
591デフォルトの名無しさん
2019/02/23(土) 21:41:56.40ID:QCtZNWil >>590
そんなにかわらんやろ
そんなにかわらんやろ
592デフォルトの名無しさん
2019/02/23(土) 22:07:09.64ID:U8qcMvKV でもCoreには、Windows formsとWPFが無いよ
593デフォルトの名無しさん
2019/02/23(土) 22:20:27.28ID:U8qcMvKV 悪い、俺の知識が古かった
Core 3.0ではサポートされるんだな
Core 3.0ではサポートされるんだな
594デフォルトの名無しさん
2019/02/23(土) 22:42:29.56ID:3sqzQkTc 3.0はdnSpyとか既に導入しているアプリもちょくちょく見るね
SCDにできるのが野良配布の開発者には良さげ
SCDにできるのが野良配布の開発者には良さげ
595デフォルトの名無しさん
2019/02/24(日) 05:23:00.00ID:EIdikGBL >>587
ほぼ問題なく動いてるよ
ほぼ問題なく動いてるよ
596デフォルトの名無しさん
2019/02/24(日) 15:29:42.14ID:aT0Lsbsv597デフォルトの名無しさん
2019/02/24(日) 16:23:30.62ID:njB6xu8t OSチームが謎のps推ししてるんだからそう動作が変わるとも思えない(全く信用はしてないが)
598デフォルトの名無しさん
2019/02/24(日) 21:05:12.28ID:JgPRA9Sg 分からない所があるなら、まずは公式ドキュメントを読めよ
PowerShell Core 6.0 の重要な変更
https://docs.microsoft.com/ja-jp/powershell/scripting/whats-new/breaking-changes-ps6
PowerShell Core 6.1 の新機能 - 破壊的変更
https://docs.microsoft.com/ja-jp/powershell/scripting/whats-new/what-s-new-in-powershell-core-61#breaking-changes
PowerShell Core 6.0 の重要な変更
https://docs.microsoft.com/ja-jp/powershell/scripting/whats-new/breaking-changes-ps6
PowerShell Core 6.1 の新機能 - 破壊的変更
https://docs.microsoft.com/ja-jp/powershell/scripting/whats-new/what-s-new-in-powershell-core-61#breaking-changes
599デフォルトの名無しさん
2019/02/24(日) 21:25:21.67ID:njB6xu8t encoding以外ほぼどうでもいい内容だな
600デフォルトの名無しさん
2019/02/25(月) 06:14:15.76ID:WiC9+kGP601デフォルトの名無しさん
2019/02/25(月) 17:25:12.02ID:PrYchFgA System.Windows.FormsみたいなWindows固有のGUI系はサポートされない。
今のところこれで困ってる。
Core3.0でサポートされるから、将来的には大丈夫なんだろうか。
今のところこれで困ってる。
Core3.0でサポートされるから、将来的には大丈夫なんだろうか。
2019/02/26(火) 08:07:40.70ID:OWiOsoxx
Windowsサーバのディスク断片化を検知するPowerShell
603デフォルトの名無しさん
2019/02/26(火) 08:18:02.82ID:OWiOsoxx 誰か教えて下さい
断片化を検知するパワーシェル
一定の断片化でデフラグするパワーシェル
断片化を検知するパワーシェル
一定の断片化でデフラグするパワーシェル
604デフォルトの名無しさん
2019/02/26(火) 09:02:46.40ID:dRkGmNcH >>603
しつこい
しつこい
605デフォルトの名無しさん
2019/02/26(火) 12:06:29.45ID:DYKZ90LU >>603
とうとうこっちに来たのか…、要件をまとめられない限り、お前さんに仕事は無理、勿論回答も無理。丸投げなどもっての他、はよ仕事降りて病院行け
とうとうこっちに来たのか…、要件をまとめられない限り、お前さんに仕事は無理、勿論回答も無理。丸投げなどもっての他、はよ仕事降りて病院行け
606デフォルトの名無しさん
2019/02/26(火) 12:13:41.62ID:DYKZ90LU こいつはWindows板のスレに2/12に登場し、周りから色々アドバイス貰っても、壊れたレコードのように「わかりません、教えてください」を繰り返し「もう来ませんさようなら」と言っては再び現れる
https://mevius.5ch.net/test/read.cgi/win/1474175184/373-
https://mevius.5ch.net/test/read.cgi/win/1474175184/373-
607デフォルトの名無しさん
2019/02/26(火) 12:24:30.73ID:W0wJxBNy >>606
なんだそりゃワロタwwwww
なんだそりゃワロタwwwww
608デフォルトの名無しさん
2019/02/26(火) 12:41:56.50ID:5MxkS3P7 断片化?
そんな難しいプログラムを、書けるわけないだろ
断片化を判定するようなコマンドなんて、無いだろ?
そういうのは、それ専門の会社が作っている、アプリを使う。
自作できるようなものじゃない
そんな難しいプログラムを、書けるわけないだろ
断片化を判定するようなコマンドなんて、無いだろ?
そういうのは、それ専門の会社が作っている、アプリを使う。
自作できるようなものじゃない
609デフォルトの名無しさん
2019/02/26(火) 14:04:50.81ID:xyBbmsCy Win10だと自動でデフラグするけどな。
610デフォルトの名無しさん
2019/02/26(火) 14:29:41.52ID:n1GswSmU defrag コマンドあるからできるよ
611デフォルトの名無しさん
2019/02/26(火) 14:47:12.84ID:iHcW87Sg >>603
Optimize-Volume
https://docs.microsoft.com/en-us/powershell/module/storage/optimize-volume
後は勝手にしろ
Optimize-Volume
https://docs.microsoft.com/en-us/powershell/module/storage/optimize-volume
後は勝手にしろ
612デフォルトの名無しさん
2019/02/26(火) 19:16:16.83ID:OWiOsoxx PS C:\Users\user> Optimize-Volume -DriveLetter C -Analyze -Verbose
Optimize-Volume : Access denied
Activity ID: {dcf03f92-726b-4adb-a208-4f620c23ef63}
発生場所 行:1 文字:1
+ Optimize-Volume -DriveLetter C -Analyze -Verbose
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (StorageWMI:ROOT/Microsoft/...age/MSFT_Volume) [Optimize-Volume], CimE
xception
+ FullyQualifiedErrorId : StorageWMI 40001,Optimize-Volume
Optimize-Volume : Access denied
Activity ID: {dcf03f92-726b-4adb-a208-4f620c23ef63}
発生場所 行:1 文字:1
+ Optimize-Volume -DriveLetter C -Analyze -Verbose
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (StorageWMI:ROOT/Microsoft/...age/MSFT_Volume) [Optimize-Volume], CimE
xception
+ FullyQualifiedErrorId : StorageWMI 40001,Optimize-Volume
613デフォルトの名無しさん
2019/02/26(火) 19:17:18.94ID:OWiOsoxx PS C:\Users\user> Optimize-Volume -DriveLetter C -ReTrim -Verbose
Optimize-Volume : Access denied
Activity ID: {fd9e0378-9517-49a9-874f-49fdbbafec31}
発生場所 行:1 文字:1
+ Optimize-Volume -DriveLetter C -ReTrim -Verbose
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (StorageWMI:ROOT/Microsoft/...age/MSFT_Volume) [Optimize-Volume], CimE
xception
+ FullyQualifiedErrorId : StorageWMI 40001,Optimize-Volume
Optimize-Volume : Access denied
Activity ID: {fd9e0378-9517-49a9-874f-49fdbbafec31}
発生場所 行:1 文字:1
+ Optimize-Volume -DriveLetter C -ReTrim -Verbose
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (StorageWMI:ROOT/Microsoft/...age/MSFT_Volume) [Optimize-Volume], CimE
xception
+ FullyQualifiedErrorId : StorageWMI 40001,Optimize-Volume
614デフォルトの名無しさん
2019/02/26(火) 19:41:44.80ID:4qbJwUeH これも前ググれと言われてるだろ?
"PermissionDenied"だから原因は明確、PG言語を学ぶ以前の問題
"PermissionDenied"だから原因は明確、PG言語を学ぶ以前の問題
615デフォルトの名無しさん
2019/02/26(火) 20:11:15.34ID:OWiOsoxx 考えても分からないから寝ます
616デフォルトの名無しさん
2019/02/26(火) 20:12:11.17ID:c/a6AL8h >>606が警告してるのになんで相手するかな…
617デフォルトの名無しさん
2019/02/26(火) 20:20:24.56ID:OWiOsoxx 分からなくてどうしようもないから質問しているのに
要するにスクリプトの構文の意味から分かっていない
要するにスクリプトの構文の意味から分かっていない
618デフォルトの名無しさん
2019/02/26(火) 20:43:08.57ID:SZnduWSg いやPSのエラーは判り難いと思うね
そもそもコマンドライン置き換えたいなら日本語で出すべき
そもそもコマンドライン置き換えたいなら日本語で出すべき
619デフォルトの名無しさん
2019/02/27(水) 06:31:25.86ID:KDd7+K01 >>618
UNIX系のシェルに比べたら圧倒的にわかりやすいでしょ
UNIX系のシェルに比べたら圧倒的にわかりやすいでしょ
620デフォルトの名無しさん
2019/02/27(水) 07:06:27.77ID:KDd7+K01 >>617
みてると、まるきり一切調べようとせずに
出来上がったコーディング教えろという
感じですよね
しかも、PowerShellだけでなく、使用するユーティリティーに
ついてもどちらもまるきり分らないし調べないでの質問。
みてると、まるきり一切調べようとせずに
出来上がったコーディング教えろという
感じですよね
しかも、PowerShellだけでなく、使用するユーティリティーに
ついてもどちらもまるきり分らないし調べないでの質問。
621デフォルトの名無しさん
2019/02/27(水) 07:58:43.59ID:9BuZTaoV やる気なく、能力も無いと漏らしてるクセに辞退もせず、数ヶ月居座ろうという腹です。
後任に苦労かけるだけ。正常な社会人の要件まとめ能力、調査能力すら失ってるのは精神病としか思えないため、はやく病院に行けと勧めてます
後任に苦労かけるだけ。正常な社会人の要件まとめ能力、調査能力すら失ってるのは精神病としか思えないため、はやく病院に行けと勧めてます
622デフォルトの名無しさん
2019/02/27(水) 21:51:13.40ID:KyKRLtdw 数十GBのバイナリファイルを2GB毎に分割したいのですがpowershellで効率よい方法あったら教えてください
C#コード埋め込みでも可です
C#コード埋め込みでも可です
623デフォルトの名無しさん
2019/02/28(木) 14:47:18.94ID:jurbU8zc >>622
GNUの split コマンドでええんちゃう?
$ split -d -b 2G src dst.
こんな感じに分割される。
dst.01
dst.02
...
dst.99
結合は、
$ cat dst.* > dst
で終わり。
GNUの split コマンドでええんちゃう?
$ split -d -b 2G src dst.
こんな感じに分割される。
dst.01
dst.02
...
dst.99
結合は、
$ cat dst.* > dst
で終わり。
624デフォルトの名無しさん
2019/02/28(木) 16:39:52.64ID:bHx/l7mF625デフォルトの名無しさん
2019/02/28(木) 21:16:57.85ID:VwWxMUG7 ありがたごましうた
626デフォルトの名無しさん
2019/02/28(木) 22:01:42.89ID:FWfO9yYH >>620
なんか日本語ちょっとおかしいし、日本人じゃないのかもな
なんか日本語ちょっとおかしいし、日本人じゃないのかもな
627デフォルトの名無しさん
2019/03/01(金) 00:11:45.93ID:GEdFntp5 byeとか再見とか毎回言う外国人居る??
628デフォルトの名無しさん
2019/03/01(金) 05:49:41.07ID:vonrkHCa 『Youは何しにPowerShellに』の撮影かな?
629デフォルトの名無しさん
2019/03/01(金) 15:20:53.71ID:o7q1IFCw powershellでチャットできないですか?
630デフォルトの名無しさん
2019/03/02(土) 09:51:56.69ID:iF6Iyi4r Manage chat rooms in Persistent Chat Server in Skype for Business Server 2015
https://docs.microsoft.com/en-us/skypeforbusiness/manage/persistent-chat/chat-rooms
https://docs.microsoft.com/en-us/skypeforbusiness/manage/persistent-chat/chat-rooms
631デフォルトの名無しさん
2019/03/02(土) 12:30:51.54ID:k1Nl7LaS632デフォルトの名無しさん
2019/03/02(土) 17:10:56.38ID:J6Ykyvz8 最近プログラムでわからないことググるとQiitaってサイトがやたら出てくるなと思ってたら
いつの間にか日本最大のプログラマーコミュニティになってたんだな
http://www.sbbit.jp/article/image/32877/l_bit201611081621450925.jpg
いつの間にか日本最大のプログラマーコミュニティになってたんだな
http://www.sbbit.jp/article/image/32877/l_bit201611081621450925.jpg
633デフォルトの名無しさん
2019/03/21(木) 21:13:15.16ID:Kce5LZBI634デフォルトの名無しさん
2019/03/23(土) 14:31:45.42ID:zukmvcaU >>632
調べ物があってググると結構な確率で Qiita でヒットするけど、
「初心者がとりあえずやってみた系」「自分だけが理解できる作業メモ系」が
大部分で、間違ってることも少なくない。
(日本語の IT 系個人ブログの大多数がそうだとも言えるが)
なので、最近はググる際のキーワードは極力英語のみにして、
海外のコンテンツから優先して探すようにしてる。
調べ物があってググると結構な確率で Qiita でヒットするけど、
「初心者がとりあえずやってみた系」「自分だけが理解できる作業メモ系」が
大部分で、間違ってることも少なくない。
(日本語の IT 系個人ブログの大多数がそうだとも言えるが)
なので、最近はググる際のキーワードは極力英語のみにして、
海外のコンテンツから優先して探すようにしてる。
635デフォルトの名無しさん
2019/03/23(土) 15:05:59.87ID:AczqyFo9 俺は最初は日本語かな
日本語なら数秒で記事全体を眺めて概要と筆者の腕前を判定できる
そこからちゃんと読むか次のサイトを見るかの見極めが楽
英語だと仮に真実を語っててもそれが期待してた内容と違う場合にそれに気付くまで少し時間がかかる
そもそも英語でも間違ってる記事は少なくない
日本語なら数秒で記事全体を眺めて概要と筆者の腕前を判定できる
そこからちゃんと読むか次のサイトを見るかの見極めが楽
英語だと仮に真実を語っててもそれが期待してた内容と違う場合にそれに気付くまで少し時間がかかる
そもそも英語でも間違ってる記事は少なくない
636デフォルトの名無しさん
2019/03/23(土) 18:54:02.90ID:sans/OC7 Qiitaが云々っていうより、最近のgoogleで上位に来るのはgoogleのアフリエイトが
使われているものが優先されていて、特に意図的にアフリエイトだけが目的の
コピペサイトが上位に来るので検索エンジンとして役に立たなくなってきてる
まぁ、キーワードうまく絞れば見つかることも多いし、なれと面倒くささも手伝って
google日本語2ページ、google英語2ページ、bing、duckduckgoって感じで最近は
検索してるかな
使われているものが優先されていて、特に意図的にアフリエイトだけが目的の
コピペサイトが上位に来るので検索エンジンとして役に立たなくなってきてる
まぁ、キーワードうまく絞れば見つかることも多いし、なれと面倒くささも手伝って
google日本語2ページ、google英語2ページ、bing、duckduckgoって感じで最近は
検索してるかな
637デフォルトの名無しさん
2019/03/23(土) 18:57:03.05ID:sb/buXjf euの脅しのお陰でchromeのデフォルト検索エンジンにduckduckgo選べるようになってるなw
638デフォルトの名無しさん
2019/03/23(土) 20:27:48.56ID:9w+Nt8ul639デフォルトの名無しさん
2019/03/23(土) 21:48:53.64ID:PK70pzz9 >>636
マップもぶっ壊れてるしgoogle落ち目だな
マップもぶっ壊れてるしgoogle落ち目だな
640デフォルトの名無しさん
2019/03/24(日) 13:06:39.33ID:0UFOFyyE euは一体何様なんだ?
641デフォルトの名無しさん
2019/03/25(月) 03:07:23.90ID:UZnjqkvB ConvertFrom-Csv って、#で始まる行はスキップしてくれるのかな?
Get-Content .\list.txt -Encoding UTF8
url1 file1
#url2 file2
url3 file3
Get-Content .\list.txt -Encoding UTF8 | ConvertFrom-Csv -Delimiter " "
url1 file1
url3 file3
これって、ヘルプに見当たらないんだけど、何かのオプションの初期値で決まってるの?
# PSVersion 5.1.17763.316
https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Csv?view=powershell-5.1
Get-Content .\list.txt -Encoding UTF8
url1 file1
#url2 file2
url3 file3
Get-Content .\list.txt -Encoding UTF8 | ConvertFrom-Csv -Delimiter " "
url1 file1
url3 file3
これって、ヘルプに見当たらないんだけど、何かのオプションの初期値で決まってるの?
# PSVersion 5.1.17763.316
https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Utility/ConvertFrom-Csv?view=powershell-5.1
642デフォルトの名無しさん
2019/03/25(月) 05:27:00.32ID:jHLU9O87 >>641
調べたらコメントとして処理してるわけでもなくてパイプライン入力だと#Typeとかいうよくわからない識別子の判定時に捨てられてるようだ
https://github.com/PowerShell/PowerShell/blob/master/src/Microsoft.PowerShell.Commands.Utility/commands/utility/CSVCommands.cs#L1353
なので一つの文字列として渡すと無視できる
$a = Get-Content .\list.txt -Encoding UTF8
$a -join "`n" | ConvertFrom-Csv -Delimiter " "
あとパイプラインでも改行が\nのみだと挙動が変わったりするけどバグなんじゃないのこれ
調べたらコメントとして処理してるわけでもなくてパイプライン入力だと#Typeとかいうよくわからない識別子の判定時に捨てられてるようだ
https://github.com/PowerShell/PowerShell/blob/master/src/Microsoft.PowerShell.Commands.Utility/commands/utility/CSVCommands.cs#L1353
なので一つの文字列として渡すと無視できる
$a = Get-Content .\list.txt -Encoding UTF8
$a -join "`n" | ConvertFrom-Csv -Delimiter " "
あとパイプラインでも改行が\nのみだと挙動が変わったりするけどバグなんじゃないのこれ
643641
2019/03/25(月) 15:55:58.17ID:UZnjqkvB >>642
おー、ありがとう(*^▽^*)
確かに Raw オプションで読み込むとスキップされなかった。
Get-Content .\list.txt -Encoding UTF8 -Raw | ConvertFrom-Csv -Delimiter " "
Export-CSVがデフォルトで出力する型情報を無視するようにっていう意図なのかな?
#TYPE System.Management.Automation.PSCustomObject
"#TYPE"始まりを無視しようとして "#"始まりを無視しちゃダメな気がするけど...(´・ω・`)
おー、ありがとう(*^▽^*)
確かに Raw オプションで読み込むとスキップされなかった。
Get-Content .\list.txt -Encoding UTF8 -Raw | ConvertFrom-Csv -Delimiter " "
Export-CSVがデフォルトで出力する型情報を無視するようにっていう意図なのかな?
#TYPE System.Management.Automation.PSCustomObject
"#TYPE"始まりを無視しようとして "#"始まりを無視しちゃダメな気がするけど...(´・ω・`)
644デフォルトの名無しさん
2019/03/25(月) 21:10:47.02ID:E8OEO5vB powershell謹製の定型入出力処理って大抵どっかが糞だよな
C#でさくっとコード埋め込んだ方が速い
C#でさくっとコード埋め込んだ方が速い
645641
2019/03/26(火) 03:30:50.37ID:7kgkCpnE646デフォルトの名無しさん
2019/03/26(火) 07:15:12.47ID:yaU1CQab そういう場合はコメント扱いか将来の予約用として設計するケースが多いかな
癖のある部分がしっかりドキュメント化されてるといいんだけどね
癖のある部分がしっかりドキュメント化されてるといいんだけどね
647デフォルトの名無しさん
2019/03/27(水) 00:37:50.64ID:Y2V1g2tl ドキュメント化されてない糞言語機能なんて使えんわな
648デフォルトの名無しさん
2019/03/29(金) 08:30:26.38ID:CjsaVqOU General Availability of PowerShell Core 6.2
https://devblogs.microsoft.com/powershell/general-availability-of-powershell-core-6-2/
https://devblogs.microsoft.com/powershell/general-availability-of-powershell-core-6-2/
649デフォルトの名無しさん
2019/03/29(金) 12:30:11.33ID:N4KkVZCo >>648
Microsoft Update で pwsh のアップデートが提供される、ってのはいつになるのかね
Microsoft Update で pwsh のアップデートが提供される、ってのはいつになるのかね
650デフォルトの名無しさん
2019/04/06(土) 09:01:31.22ID:d6ZNnt3i The Next Release of PowerShell - PowerShell 7
https://devblogs.microsoft.com/powershell/the-next-release-of-powershell-powershell-7/
https://devblogs.microsoft.com/powershell/the-next-release-of-powershell-powershell-7/
651デフォルトの名無しさん
2019/04/06(土) 10:23:45.60ID:DpBRf5ef >>650
Windows PowerShellとPowerShell Coreが統合されるのか
Windows PowerShellとPowerShell Coreが統合されるのか
652デフォルトの名無しさん
2019/04/06(土) 18:19:21.57ID:VUIBvQ2c .NET使えたりC#埋め込めるってだけでps自体には何も魅力を感じない
653デフォルトの名無しさん
2019/04/06(土) 19:36:51.47ID:YyWMpA9h なら、こんなスレ見るのやめたら?
654デフォルトの名無しさん
2019/04/07(日) 07:15:21.58ID:WD9Sfyky >>651
当初からの既定路線です
当初からの既定路線です
655デフォルトの名無しさん
2019/04/07(日) 11:08:35.13ID:gun2agJ4656デフォルトの名無しさん
2019/04/07(日) 21:27:45.92ID:KO8gpU7g 良かった
これでわざわざコアを入れなくてもWindowsデフォルトのPSがメンテされるのかな?
本家であるWindowsデフォルトのPSを冷遇するMSに腹が立ってたんだ
これでわざわざコアを入れなくてもWindowsデフォルトのPSがメンテされるのかな?
本家であるWindowsデフォルトのPSを冷遇するMSに腹が立ってたんだ
657デフォルトの名無しさん
2019/04/08(月) 14:15:31.94ID:flU0/mvo オブジェクト指向(class、Add-Member)はあまり使わないのかな?
658デフォルトの名無しさん
2019/04/08(月) 19:02:08.74ID:sE/xXtkV それらを即ちオブジェクト指向ってまとめられると語弊があるけど
PowerShellでわざわざクラスをつくるメリットがあまりないんで使わないかな
C#側で作ってそれを利用するモジュールはよく見かける
PowerShellでつかうんならメソッド生やすよりパイプ入力に対応した関数を作ったほうがそれらしいから
PowerShellでわざわざクラスをつくるメリットがあまりないんで使わないかな
C#側で作ってそれを利用するモジュールはよく見かける
PowerShellでつかうんならメソッド生やすよりパイプ入力に対応した関数を作ったほうがそれらしいから
659デフォルトの名無しさん
2019/04/08(月) 21:12:55.80ID:BZrWgE85 Coreもデフォでインストールして欲しいんだが。
予定あるのかね。
予定あるのかね。
660デフォルトの名無しさん
2019/04/08(月) 21:33:20.59ID:GoiTTqTj >>657
classはわかるけどオブジェクト指向とAdd-Memberになんの関係が?
classはわかるけどオブジェクト指向とAdd-Memberになんの関係が?
661デフォルトの名無しさん
2019/04/08(月) 23:22:18.02ID:zFFjnYPT >>660
バージョン古いとAddMenberなしで振る舞い定義できんやん
バージョン古いとAddMenberなしで振る舞い定義できんやん
662デフォルトの名無しさん
2019/04/09(火) 06:55:48.14ID:WguqqX2K663デフォルトの名無しさん
2019/04/09(火) 18:59:23.20ID:W7MAWXJx664デフォルトの名無しさん
2019/04/12(金) 09:48:45.13ID:FkqjpuHe PowerShell Core 6.2 の新機能
https://docs.microsoft.com/ja-jp/powershell/scripting/whats-new/what-s-new-in-powershell-core-62
https://docs.microsoft.com/ja-jp/powershell/scripting/whats-new/what-s-new-in-powershell-core-62
665デフォルトの名無しさん
2019/04/13(土) 11:52:50.01ID:agvTDDTm 2019年人気&嫌われプログラミング言語ランキング- Stack Overflow
https://news.mynavi.jp/article/20190412-807191/
「Bash/Shell/PowerShell」とひとくくりにされていることに激しく違和感
https://news.mynavi.jp/article/20190412-807191/
「Bash/Shell/PowerShell」とひとくくりにされていることに激しく違和感
666デフォルトの名無しさん
2019/04/13(土) 22:04:36.80ID:cCi57egk PS単体だと空気だし
667デフォルトの名無しさん
2019/04/14(日) 10:51:28.73ID:x8HUstxk 俺達のbashが空気だっていうのか!
668デフォルトの名無しさん
2019/04/18(木) 08:38:59.87ID:19FvTfVH リモートで各Windowsサーバのhostsファイルのメンテナンスをしたいのですが、いいサンプルなどはありませんでしょうか?
669デフォルトの名無しさん
2019/04/18(木) 08:59:31.67ID:JGuMcupo サンプルもクソもないだろ…hostsファイル更新は管理権限が必須、それだけの話
670デフォルトの名無しさん
2019/04/19(金) 07:26:06.94ID:gmGy9oTC ls -name | ruby -ne 'puts $_.center(20, "-")'
これは、Linux では問題ないけど、
Windows のPowerShell で実行すると、Ruby の文法エラーになる
これで、ダブルクォーテーションをエスケープすると、正常に動く。
\"-\"
どういう事?
" は、Rubyに渡る際に、何かに変換されてしまうのか?
エスケープしない書き方は、出来ますか?
これは、Linux では問題ないけど、
Windows のPowerShell で実行すると、Ruby の文法エラーになる
これで、ダブルクォーテーションをエスケープすると、正常に動く。
\"-\"
どういう事?
" は、Rubyに渡る際に、何かに変換されてしまうのか?
エスケープしない書き方は、出来ますか?
671670
2019/04/19(金) 07:41:35.36ID:gmGy9oTC 自己解決した!
ls -name | ruby -ne 'puts $_.center(20, "-")'
"-" の部分を、Ruby の% 記法で囲んで、%Q("-") としたら正常に動いた
%Q で、ダブルクォーテーションをエスケープできる。
\"-\"
ただし、Linux では囲んではいけない
ls -name | ruby -ne 'puts $_.center(20, "-")'
"-" の部分を、Ruby の% 記法で囲んで、%Q("-") としたら正常に動いた
%Q で、ダブルクォーテーションをエスケープできる。
\"-\"
ただし、Linux では囲んではいけない
672デフォルトの名無しさん
2019/04/19(金) 08:20:04.25ID:pitW5bfl 朝からrubyガイジ登場か
673デフォルトの名無しさん
2019/04/19(金) 23:14:36.12ID:XlmULy2Z PS起動が重すぎてとうとうクレームが来た
674497
2019/04/20(土) 15:08:25.44ID:59Xq7wbj Win10_1809 のマシンを新規セットアップ中に気がついたんだが、format-table で
多バイト文字が含まれるデータを表示しても表組みがズレなくなってるな。
https://i.imgur.com/wizludw.png
1809 の改良点かと思って別の 1607 も見てみたら、こちらでもズレなくなってるわ。
Windows Update でいつの間にか修正されてたらしい。良かった、良かった。
多バイト文字が含まれるデータを表示しても表組みがズレなくなってるな。
https://i.imgur.com/wizludw.png
1809 の改良点かと思って別の 1607 も見てみたら、こちらでもズレなくなってるわ。
Windows Update でいつの間にか修正されてたらしい。良かった、良かった。
675デフォルトの名無しさん
2019/04/20(土) 19:17:44.43ID:gHzm7Vzg ps1を別のps1から実行したとき、呼び出したps1の標準出力を呼び出し元のps1で取得する方法ってありますか?
$LASTEXITCODEとか$?には当然入らないですよね
$LASTEXITCODEとか$?には当然入らないですよね
676デフォルトの名無しさん
2019/04/20(土) 22:12:38.92ID:BGbzUadU 普通に取得できるけど
どうやって呼び出してんの?
どうやって呼び出してんの?
677デフォルトの名無しさん
2019/04/20(土) 22:27:38.00ID:gHzm7Vzg A.ps1が呼び出されるps1としてB,ps1で
.\A.ps1
としてるだけなのですが、どう取得すれば良いのでしょう?
A.ps1の中身は例えばこんな感じの標準出力を吐き出してるだけ
Write-Host "test"
.\A.ps1
としてるだけなのですが、どう取得すれば良いのでしょう?
A.ps1の中身は例えばこんな感じの標準出力を吐き出してるだけ
Write-Host "test"
678デフォルトの名無しさん
2019/04/20(土) 22:29:25.41ID:BGbzUadU Write-Hostは画面に表示するだけ
出力するならWrite-Outputか、そもそもPowerShellでは勝手に出力されるから
"test"
とするだけでいい
出力するならWrite-Outputか、そもそもPowerShellでは勝手に出力されるから
"test"
とするだけでいい
679デフォルトの名無しさん
2019/04/20(土) 22:35:29.57ID:gHzm7Vzg 標準出力を取得したいんですよね
A.ps1はいじれないので
A.ps1はいじれないので
680デフォルトの名無しさん
2019/04/20(土) 22:46:00.75ID:BGbzUadU だからWrite-Hostは標準出力じゃないって言ってるんだが
681デフォルトの名無しさん
2019/04/20(土) 22:46:19.99ID:gHzm7Vzg Write-Hostだと標準出力ですらなくて取得出来ないってことなのかしら?
Write-OutputだとB.ps1側で変数に格納する場合どうすれば?
Write-OutputだとB.ps1側で変数に格納する場合どうすれば?
682デフォルトの名無しさん
2019/04/20(土) 22:51:17.48ID:BGbzUadU 標準出力されるなら普通に変数に入れればいいんで
$a = .\A.ps1
とすればいいよ
Write-Hostで出力しようとするスクリプト書いた奴が馬鹿なんだから変えるしかない
$a = .\A.ps1
とすればいいよ
Write-Hostで出力しようとするスクリプト書いた奴が馬鹿なんだから変えるしかない
683デフォルトの名無しさん
2019/04/20(土) 22:52:47.85ID:gHzm7Vzg あー、普通にいけるね
Write-Hostで書かれてるから上手くいってなかったのか
ありがとうございました
Write-Hostで書かれてるから上手くいってなかったのか
ありがとうございました
684デフォルトの名無しさん
2019/04/21(日) 11:07:01.93ID:vucDkGbp685デフォルトの名無しさん
2019/04/21(日) 15:12:23.52ID:DYRtR1tP686デフォルトの名無しさん
2019/04/21(日) 19:32:10.42ID:RVTtJDMW <Japan>
<Tokyo>
<Shinjuku Area="Nishi" Type="Kusai"/>
<Shinjuku Area="Kabuki" Type="Kitanai"/>
<Shinjuku Area="Okubo" Type="Ikoku"/>
</Tokyo>
</Japan>
こういうXMLの場合、Type="Kitanai"の子要素があるAreaを取得するにはどうすればいいの?
<Tokyo>
<Shinjuku Area="Nishi" Type="Kusai"/>
<Shinjuku Area="Kabuki" Type="Kitanai"/>
<Shinjuku Area="Okubo" Type="Ikoku"/>
</Tokyo>
</Japan>
こういうXMLの場合、Type="Kitanai"の子要素があるAreaを取得するにはどうすればいいの?
687デフォルトの名無しさん
2019/04/21(日) 20:01:09.97ID:RCGv90ei $xml = [xml]'<Japan>
<Tokyo>
<Shinjuku Area="Nishi" Type="Kusai"/>
<Shinjuku Area="Kabuki" Type="Kitanai"/>
<Shinjuku Area="Okubo" Type="Ikoku"/>
</Tokyo>
</Japan>'
$xml.Japan.Tokyo.Shinjuku |
Where-Object {$_.Type -eq 'Kitanai'} |
Foreach-Object {$_.Area}
とか?
<Tokyo>
<Shinjuku Area="Nishi" Type="Kusai"/>
<Shinjuku Area="Kabuki" Type="Kitanai"/>
<Shinjuku Area="Okubo" Type="Ikoku"/>
</Tokyo>
</Japan>'
$xml.Japan.Tokyo.Shinjuku |
Where-Object {$_.Type -eq 'Kitanai'} |
Foreach-Object {$_.Area}
とか?
688デフォルトの名無しさん
2019/04/21(日) 20:31:15.57ID:jwyOkte1689デフォルトの名無しさん
2019/04/21(日) 21:24:14.09ID:aMzGc0Ck //Japan/Tokyo/Shinjuku[@Type='Kitanai']
こうかな?
まあ、検索して!
jQuery で、CSS Selector なら、
Japan > Tokyo > Shinjuku[Type="Kitanai"]
こうかな?
まあ、検索して!
jQuery で、CSS Selector なら、
Japan > Tokyo > Shinjuku[Type="Kitanai"]
690デフォルトの名無しさん
2019/04/21(日) 23:45:42.71ID:SQdQ4J0R xml要素って順序木ってわけでもないから結局forで回すしかないんかね
691689
2019/04/22(月) 13:01:10.79ID:A5Rqz7hQ Ruby のNokogiri では、該当する要素数が0, 1, 複数で、異なる書き方をする。
例えば、該当する最初の1つの要素だけを欲しい場合は、at_css みたいに、at を付ける
jQuery では、それらのすべてで、配列を返すように統一されている
>>689
>//Japan/Tokyo/Shinjuku[@Type='Kitanai']
これは、XPath
例えば、該当する最初の1つの要素だけを欲しい場合は、at_css みたいに、at を付ける
jQuery では、それらのすべてで、配列を返すように統一されている
>>689
>//Japan/Tokyo/Shinjuku[@Type='Kitanai']
これは、XPath
692デフォルトの名無しさん
2019/04/22(月) 15:02:53.67ID:3J9RCiSz693デフォルトの名無しさん
2019/04/22(月) 17:18:16.81ID:KTQxmf3k >>691
糞にまみれて死ね
糞にまみれて死ね
694デフォルトの名無しさん
2019/05/07(火) 04:02:54.07ID:aR2V8MII Microsoft unveils Windows Terminal, a new command line app for Windows
https://www.theverge.com/2019/5/6/18527870/microsoft-windows-terminal-command-line-tool
https://www.theverge.com/2019/5/6/18527870/microsoft-windows-terminal-command-line-tool
695デフォルトの名無しさん
2019/05/07(火) 04:35:30.79ID:aR2V8MII The new Windows Terminal
https://www.youtube.com/watch?v=8gw0rXPMMPE
https://www.youtube.com/watch?v=8gw0rXPMMPE
696デフォルトの名無しさん
2019/05/07(火) 09:29:44.47ID:uoqudFNG >>694
素晴らしい!けど、20年前にやってほしかったな・・・。
素晴らしい!けど、20年前にやってほしかったな・・・。
697デフォルトの名無しさん
2019/05/07(火) 12:36:36.82ID:p0H+1JvB powershell7と.NET5で大分見通しが良くなるな
698デフォルトの名無しさん
2019/05/07(火) 12:40:22.14ID:ZCZ3c4oa ん?
大分とpowershellが関係あるのか?
大分とpowershellが関係あるのか?
699デフォルトの名無しさん
2019/05/07(火) 12:47:57.26ID:uoqudFNG >>698
大分県で開発者会議が予定されてる
大分県で開発者会議が予定されてる
700デフォルトの名無しさん
2019/05/07(火) 12:59:48.38ID:Ok8kB8ur 漫才かw
701デフォルトの名無しさん
2019/05/07(火) 19:37:55.51ID:T//WWibe すべってるぞ。
おお痛!なんちゃって。
おお痛!なんちゃって。
702デフォルトの名無しさん
2019/05/08(水) 07:32:11.87ID:m3CbCT8F Windows PowerShell ISE なら
$Error[0]. できちんとインテリセンスの候補が出てくるんだけど
PowerShell Core だと配列と勘違いしたままの候補を出してきます。
何か設定しないといけないのかそういう不具合なのかどちらでしょうか
$Error[0]. できちんとインテリセンスの候補が出てくるんだけど
PowerShell Core だと配列と勘違いしたままの候補を出してきます。
何か設定しないといけないのかそういう不具合なのかどちらでしょうか
703デフォルトの名無しさん
2019/05/08(水) 22:29:50.31ID:VmC21Scz ISEとコンソールは動作がかなり異なる
不具合と言ってよい
不具合と言ってよい
704デフォルトの名無しさん
2019/05/10(金) 15:15:49.46ID:cKAyPz2z PowerShell をしばらく使い込んでから久しぶりに bash とかの Shell script をいじると、ものすごく原始的に感じる。
原理主義者から罵声を浴びそうだけど。
原理主義者から罵声を浴びそうだけど。
705デフォルトの名無しさん
2019/05/10(金) 15:21:30.53ID:j4eHz/16 bashは速い、コマンド短い、リナ鯖でデフォで動くのでpsとは使い道が違うかな
706デフォルトの名無しさん
2019/05/13(月) 23:26:25.83ID:hyOZOxip もっさもさのゴミ
707デフォルトの名無しさん
2019/05/14(火) 21:36:16.08ID:Umyq8Om1 速度が重要な処理はスクリプトじゃなくてC言語で書けばいいんだよ
708デフォルトの名無しさん
2019/05/17(金) 23:14:58.14ID:84kT7PGy そもそもLinuxの場合はスクリプトないと使い物にならないという問題があるから。
709デフォルトの名無しさん
2019/05/18(土) 09:08:41.54ID:CdqDIO7E バイトストリームしかないくせにテキスト至上主義とか言ってるのはギャグなんだろうか
710デフォルトの名無しさん
2019/05/21(火) 17:37:00.04ID:nuXn2mIW sample.csv
---------
A,B,C,D,E
あ,いう,えおか,きくけこ,さしすせそ
Get-Content sample.csv | ConvertFrom-Csv | Format-Table
Get-Content sample.csv | ConvertFrom-Csv | Format-Table | Out-File sample.txt
コンソール画面ではレイアウトは正常なのに、Out-Fileすると半角全角違いの影響なのかレイアウトが崩れてしまう。
コンソール画面のとおりにテキスト出力する方法ありませんか?
---------
A,B,C,D,E
あ,いう,えおか,きくけこ,さしすせそ
Get-Content sample.csv | ConvertFrom-Csv | Format-Table
Get-Content sample.csv | ConvertFrom-Csv | Format-Table | Out-File sample.txt
コンソール画面ではレイアウトは正常なのに、Out-Fileすると半角全角違いの影響なのかレイアウトが崩れてしまう。
コンソール画面のとおりにテキスト出力する方法ありませんか?
711デフォルトの名無しさん
2019/05/21(火) 18:05:39.20ID:1dtSHonA コンソールは座標決め打ちできるからじゃねーの
外人がマルチバイトの事なんか考慮してるわけねーよ
外人がマルチバイトの事なんか考慮してるわけねーよ
712デフォルトの名無しさん
2019/05/21(火) 18:23:53.35ID:1jccaJmM 帳票整形に異常なまでに神経を使うのは日本だけ
713デフォルトの名無しさん
2019/05/21(火) 18:34:34.88ID:5U/ewrLb Excelでも使っとけ
714デフォルトの名無しさん
2019/05/22(水) 05:48:45.20ID:okzMK2Wd >>712
しがない派遣な俺はそういうとこ気使わんとすぐ切られちまうのよ
しがない派遣な俺はそういうとこ気使わんとすぐ切られちまうのよ
715デフォルトの名無しさん
2019/05/22(水) 07:11:49.10ID:62koVQSH もうやだこの国
716デフォルトの名無しさん
2019/05/22(水) 11:47:23.28ID:F+bTsM9Q そもそも表作るためのソフトじゃないやろ
そういうソフトを組み込むのは簡単ちゅう代物
そこを生かさないとね
そういうソフトを組み込むのは簡単ちゅう代物
そこを生かさないとね
717デフォルトの名無しさん
2019/06/04(火) 11:05:53.37ID:PR65wrLt718デフォルトの名無しさん
2019/06/04(火) 20:36:15.02ID:BylyrmWo >>717
update-pwsh みたいなコマンドレットでアップデートできるようにならんかのう
update-pwsh みたいなコマンドレットでアップデートできるようにならんかのう
719デフォルトの名無しさん
2019/06/04(火) 21:01:40.96ID:bsTOoaq8720デフォルトの名無しさん
2019/06/05(水) 15:44:43.15ID:FhACL5FX chocolateyはpowershellモジュール版もあるけど通常版とは別管理になるのが惜しい
普通に通常版使っといた方が楽なのはわかるんだがコマンド脱却してコマンドレットだけにしたくなる
普通に通常版使っといた方が楽なのはわかるんだがコマンド脱却してコマンドレットだけにしたくなる
721デフォルトの名無しさん
2019/06/11(火) 20:56:21.53ID:ziX2s9yQ 非推奨になったSend-MailMessageを使えって、ホントに正しい?
その知識、ホントに正しい? Windowsにまつわる都市伝説(137):
Windows Server標準のメール通知の機能不足は「Send-MailMessage」コマンドレットで解決!
https://www.atmarkit.co.jp/ait/articles/1906/11/news006.html
その知識、ホントに正しい? Windowsにまつわる都市伝説(137):
Windows Server標準のメール通知の機能不足は「Send-MailMessage」コマンドレットで解決!
https://www.atmarkit.co.jp/ait/articles/1906/11/news006.html
722デフォルトの名無しさん
2019/06/11(火) 21:01:49.48ID:6DBwhRzC Powershellクラスタが騒いでたのはこれか
723デフォルトの名無しさん
2019/06/12(水) 09:43:55.62ID:kgH69nQx724デフォルトの名無しさん
2019/06/12(水) 09:51:22.78ID:jw1ViI3v >>723
そのSmtpClientが非推奨になってSend-MailMessageもSmtpClien使ってるから廃止しようってことらしい
https://github.com/PowerShell/PowerShell-RFC/blob/7c0ba6068e5ac00cec0f69d92923d210c05b24f5/1-Draft/RFCXXXX-Send-MailMessage.md
そのSmtpClientが非推奨になってSend-MailMessageもSmtpClien使ってるから廃止しようってことらしい
https://github.com/PowerShell/PowerShell-RFC/blob/7c0ba6068e5ac00cec0f69d92923d210c05b24f5/1-Draft/RFCXXXX-Send-MailMessage.md
725デフォルトの名無しさん
2019/06/12(水) 16:39:19.29ID:kgH69nQx726デフォルトの名無しさん
2019/06/13(木) 12:15:28.51ID:p0mjXhjx 質問します
WindowsServer2012R2をWin10からリモートで使っています。
get-ExecutionPolicyは
RemoteSigned
スクリプトは例えばこんな感じです
test.ps1
$AA=Read-Host "入力"
PowerShellSEからtest.ps1は実行成功。
PowerShellを起動し./test..ps1で実行成功。
エクスプローラーからtest.ps1を右クリックからPowerShellで起動しようとすると
一瞬PowerShellが起動するが何も実行されず終了。
どの辺を修正すればよいかアドバイスをいただけますでしょうか
WindowsServer2012R2をWin10からリモートで使っています。
get-ExecutionPolicyは
RemoteSigned
スクリプトは例えばこんな感じです
test.ps1
$AA=Read-Host "入力"
PowerShellSEからtest.ps1は実行成功。
PowerShellを起動し./test..ps1で実行成功。
エクスプローラーからtest.ps1を右クリックからPowerShellで起動しようとすると
一瞬PowerShellが起動するが何も実行されず終了。
どの辺を修正すればよいかアドバイスをいただけますでしょうか
727デフォルトの名無しさん
2019/06/13(木) 23:02:42.88ID:UGCqyxPq >>726
リモートデスクトップ試せないけど、とりあえずリモート先のイベントログ見たら?
ローカルなら
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -file ps1フルパス名 -Command if((Get-ExecutionPolicy ) -ne AllSigned) { Set-ExecutionPolicy -Scope Process Bypass }
が実行されるけどね
リモートデスクトップ試せないけど、とりあえずリモート先のイベントログ見たら?
ローカルなら
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -file ps1フルパス名 -Command if((Get-ExecutionPolicy ) -ne AllSigned) { Set-ExecutionPolicy -Scope Process Bypass }
が実行されるけどね
728デフォルトの名無しさん
2019/06/16(日) 19:28:37.13ID:sa5lhoiI -Recurseって、ForechObjectのLazy評価と相性悪いのね。
729デフォルトの名無しさん
2019/06/18(火) 06:16:59.21ID:3nOE2mBA プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
730デフォルトの名無しさん
2019/06/19(水) 19:17:38.02ID:TWs5Iott VBAからPowerShell呼びたいのだがシェルコマンドとして実行するしかないのかね?
C#だとSystem.Management.Automationが使えるがCOMじゃないのだよねコレ
C#だとSystem.Management.Automationが使えるがCOMじゃないのだよねコレ
731デフォルトの名無しさん
2019/06/22(土) 01:23:30.12ID:3TgqxsPN >>730
VBA詳しくないから合ってるか知らないけど、ExecPowerShellコマンドは使えるんでない?
VBA詳しくないから合ってるか知らないけど、ExecPowerShellコマンドは使えるんでない?
732デフォルトの名無しさん
2019/06/22(土) 13:27:06.92ID:DZJ/hc7X シェルコマンドの何が不満なのかさっぱり
733デフォルトの名無しさん
2019/06/24(月) 23:49:52.33ID:+JWJYT3O 以下の Data.txt と Format.txt がある状態で<実行結果>を得るにはどのようなスクリプトを書けば良いのでしょうか?
Get-Contentを使うのだと思うのですが、改行の入れ方がよくわかりません。
<Data.txtの内容>
1111111111abcde2223333333
<Format.txtの内容>
10
5
3
7
<実行結果>
1111111111
abcde
222
3333333
Get-Contentを使うのだと思うのですが、改行の入れ方がよくわかりません。
<Data.txtの内容>
1111111111abcde2223333333
<Format.txtの内容>
10
5
3
7
<実行結果>
1111111111
abcde
222
3333333
734デフォルトの名無しさん
2019/06/25(火) 00:37:21.55ID:crlTuLoY ひどいレベルの低さだな、変数と代入と展開だけ。試行錯誤すれば5分で答えでるだろ。
735デフォルトの名無しさん
2019/06/25(火) 10:30:56.60ID:oiRmP0Xi 教育問題は自分で考えて解かないと意味が無いよ
736デフォルトの名無しさん
2019/06/25(火) 12:26:30.04ID:z/YFlONv737デフォルトの名無しさん
2019/06/25(火) 17:28:39.42ID:NjnEAwoB $s = "1111111111abcde2223333333"
10,5,3,7 | % { $n = 0 } { $s.Substring($n, $_); $n += $_ }
10,5,3,7 | % { $n = 0 } { $s.Substring($n, $_); $n += $_ }
738733
2019/06/25(火) 21:04:00.53ID:SYrWEeYW739デフォルトの名無しさん
2019/06/28(金) 22:35:51.43ID:7dQVY7x3 >>736
今どきはこんな便利なソース貼り付けサイトがあるんだなあ
今どきはこんな便利なソース貼り付けサイトがあるんだなあ
740デフォルトの名無しさん
2019/06/29(土) 00:07:50.83ID:rLR7TtJ0 Pastebinは相当前からあったけど・・・
741デフォルトの名無しさん
2019/06/29(土) 06:29:56.03ID:G7+AZKsr Qiita、GitHub、teratailでもpastebinモジュールが中で使われてるよね、でもpastebin.comは単体で便利
742デフォルトの名無しさん
2019/07/01(月) 12:57:19.36ID:fiA0UtsU >>739
ただのGistのパクリなんだが。。
ただのGistのパクリなんだが。。
743デフォルトの名無しさん
2019/07/01(月) 14:19:02.73ID:O1pDJEnN Ruby で作った
str = "1111111111abcde2223333333"
nums = <<"EOT".lines( chomp: true ).map( &:to_i ) # 数字の配列。改行は削除
10
5
3
7
EOT
#=> [10, 5, 3, 7]
i = 0
nums.each do |num|
puts str[ i, num ] # 位置i から、num個の文字列
i += num
end
str = "1111111111abcde2223333333"
nums = <<"EOT".lines( chomp: true ).map( &:to_i ) # 数字の配列。改行は削除
10
5
3
7
EOT
#=> [10, 5, 3, 7]
i = 0
nums.each do |num|
puts str[ i, num ] # 位置i から、num個の文字列
i += num
end
744デフォルトの名無しさん
2019/07/01(月) 14:41:57.11ID:YzHO/9WR >>743
どうでもいい
どうでもいい
745デフォルトの名無しさん
2019/07/01(月) 16:21:19.60ID:MoEwNeEz >>743
死ね
死ね
746デフォルトの名無しさん
2019/07/02(火) 21:03:55.04ID:IFMrsVTJ 教えてくださいエロい方
初心者なりに頑張ってwpfでxmlデータをツリー表示させたのですが、
テンプレートで定義したボタンにクリックイベントをつける方法がわかりません・・
@見た目: xaml
Aデータテンプレート: TreeViewのhierarchicalDataTemplate(xaml)
Bデータソース: xmlをxmlDataProviderに読み込んでAにバインド (起動時コード)
アドバイスをお願いします。
初心者なりに頑張ってwpfでxmlデータをツリー表示させたのですが、
テンプレートで定義したボタンにクリックイベントをつける方法がわかりません・・
@見た目: xaml
Aデータテンプレート: TreeViewのhierarchicalDataTemplate(xaml)
Bデータソース: xmlをxmlDataProviderに読み込んでAにバインド (起動時コード)
アドバイスをお願いします。
747デフォルトの名無しさん
2019/07/02(火) 21:36:19.03ID:uMGeffjZ jQuery なら、後から追加した要素にも、on で、複数のイベントを付けられる
$( 'CSS セレクター' ).on( {
'click': function() { 処理 },
'mouseenter': function() { 処理 }
} );
$( 'CSS セレクター' ).on( {
'click': function() { 処理 },
'mouseenter': function() { 処理 }
} );
748デフォルトの名無しさん
2019/07/02(火) 22:05:43.99ID:IFMrsVTJ749747
2019/07/02(火) 22:30:07.10ID:uMGeffjZ750デフォルトの名無しさん
2019/07/02(火) 23:46:29.77ID:TfK25CW5751デフォルトの名無しさん
2019/07/03(水) 00:05:26.64ID:CCtfRBKO ここが優しい世界か・・・
煮詰まってたけど癒やされたよおお
>>747
xamlで書いた表示要素とコード上のオブジェクトを紐付けるのがx:classらしいんですが、
powershellはx:classをパースできなくて落ちてしまいます(T T)
いまxmlDataProviderの継承クラスをつくって、プロパティにICommandのオブジェクト設定する方法やってみようとしています
トライアンドエラーアンド討ち死にを繰り返してます
煮詰まってたけど癒やされたよおお
>>747
xamlで書いた表示要素とコード上のオブジェクトを紐付けるのがx:classらしいんですが、
powershellはx:classをパースできなくて落ちてしまいます(T T)
いまxmlDataProviderの継承クラスをつくって、プロパティにICommandのオブジェクト設定する方法やってみようとしています
トライアンドエラーアンド討ち死にを繰り返してます
752デフォルトの名無しさん
2019/07/03(水) 01:47:49.94ID:CCtfRBKO ふぁああ・・・
だめだぁ ピクリともしない
だめだぁ ピクリともしない
753デフォルトの名無しさん
2019/07/03(水) 12:43:03.67ID:aBGmP+w2 癒やされたよおお
とか、
ふぁああ・・・
とか、顔文字とか気持ち悪い
キャラ作んなくていいから普通に質問して
とか、
ふぁああ・・・
とか、顔文字とか気持ち悪い
キャラ作んなくていいから普通に質問して
754746
2019/07/04(木) 20:57:41.18ID:BTJ6kVqu 解決しました!
@xmlDataProvider継承したViewModelクラスを作る
ARoutedCommand型のオブジェクトを作成して、ViewModelの公開プロパティにする
BTreeView.DataContextに@を設定する
Cイベントハンドラを $doSomething = { }の形で作る
DCommandBindingオブジェクト作成してAとCを紐付ける
ETreeView.CommandBindingsにDを追加する
FXamlのDataTemplateで定義したButtonのCommand属性:
RelativeSourceとPathを併用してTreeView.DataContext.Aを直接指定する
CommandPerameter={Binding}
これでボタンを押すとCが呼ばれて、commandParameterで渡した引数が $_.parameter に入ってきます
@xmlDataProvider継承したViewModelクラスを作る
ARoutedCommand型のオブジェクトを作成して、ViewModelの公開プロパティにする
BTreeView.DataContextに@を設定する
Cイベントハンドラを $doSomething = { }の形で作る
DCommandBindingオブジェクト作成してAとCを紐付ける
ETreeView.CommandBindingsにDを追加する
FXamlのDataTemplateで定義したButtonのCommand属性:
RelativeSourceとPathを併用してTreeView.DataContext.Aを直接指定する
CommandPerameter={Binding}
これでボタンを押すとCが呼ばれて、commandParameterで渡した引数が $_.parameter に入ってきます
755デフォルトの名無しさん
2019/07/17(水) 08:59:27.68ID:9NhZdbVu756デフォルトの名無しさん
2019/07/17(水) 10:10:22.98ID:41FBiYn6 >>755
6系の長期サポート版が欲しいな
6系の長期サポート版が欲しいな
757デフォルトの名無しさん
2019/07/25(木) 18:27:45.21ID:zfVWvI3/ shellからjarを起動したいのですがjarの引数に変数を入れると落ちてしまいます
直接書くと問題なく動くのですがなぜでしょうか?
直接書くと問題なく動くのですがなぜでしょうか?
758デフォルトの名無しさん
2019/08/12(月) 02:48:57.74ID:kdU0FwTT PowerShellのGet-HelpコマンドでGetType()についてのヘルプを見るにはどうすればいいのでしょう。
Get-Help -Functionality GetTypeとか
Get-Help -Component GetTypeとか
色々やってみたのですが表示してくれません…。
Get-Help -Functionality GetTypeとか
Get-Help -Component GetTypeとか
色々やってみたのですが表示してくれません…。
759デフォルトの名無しさん
2019/08/12(月) 03:14:57.78ID:k4SaZ4yK GeTtype()は.NETのオブジェクトのメソッドだからGet-Helpじゃ見れんやろ
Powershellの与り知らんとこだし
Powershellの与り知らんとこだし
760デフォルトの名無しさん
2019/08/12(月) 06:13:32.21ID:kdU0FwTT761デフォルトの名無しさん
2019/08/15(木) 08:40:37.86ID:HmFqQFvo Windows以外でもGUI使えるのか
Out-GridView Returns!
https://devblogs.microsoft.com/powershell/out-gridview-returns/
Out-GridView Returns!
https://devblogs.microsoft.com/powershell/out-gridview-returns/
762デフォルトの名無しさん
2019/08/15(木) 19:53:03.53ID:1FEo3MBg 俺の大好きなogv!!
763デフォルトの名無しさん
2019/08/17(土) 18:24:44.34ID:2EecLECc ここの人がPowershell、vbs、C#に精通していると思い質問させていただきます。
C#もまだ覚え中ですが、vbsをC#に移行していました。
最近Powershellを知って、
C#より分かりづらいですが、同じことがC#より短く書けます。
shellで.NETも使えてほぼ何でもできるPowershellに可能性を感じたのですが、
全然盛り上がっていませんw
Powershellをどんどん使っていくか、
C#を覚えていくか、将来性も含めどちらがいいでしょうか?
C#もまだ覚え中ですが、vbsをC#に移行していました。
最近Powershellを知って、
C#より分かりづらいですが、同じことがC#より短く書けます。
shellで.NETも使えてほぼ何でもできるPowershellに可能性を感じたのですが、
全然盛り上がっていませんw
Powershellをどんどん使っていくか、
C#を覚えていくか、将来性も含めどちらがいいでしょうか?
764デフォルトの名無しさん
2019/08/17(土) 18:58:18.44ID:Q0D8gSGr そんなの状況次第だよ
大雑把に分けるなら
アプリケーションを作りたいならC#
システム管理ツールを作りたいならPowerShell
大雑把に分けるなら
アプリケーションを作りたいならC#
システム管理ツールを作りたいならPowerShell
765デフォルトの名無しさん
2019/08/17(土) 19:03:01.90ID:CK+x7f61 用途が違うからC#とは並べるものじゃない
windowsがメインならどっちもできるようになった方がいい
複雑なGUIをPowerShellで頑張って作ってる人見るとごくろうさまですとしか思えんし
PowerShellでさくっと書けるCUIをわざわざVisualStudio入れてC#で書いてビルドしてバイナリ配置して
ソースも別の場所でずっと管理してんの見るとアホだなあと思う
修正の度にソース探してまたビルドしてバイナリ配置して・・・ってなるんだし
あとPowershellのスクリプトの中でC#のコードを書いて使うこともできる
これがまた強力だからどっちも覚えて損はない
(速度はC#が圧倒的に速いから速度的にネックになってる部分だけC#でかくということができる)
将来性についてどっちもMSが力入れてるから気にすることはない
vbsに関して言えば所詮道具だから現状やりたいことができているんならわざわざ移行する必要もない
今んとこMSがWSHを切るって話もないし
windowsがメインならどっちもできるようになった方がいい
複雑なGUIをPowerShellで頑張って作ってる人見るとごくろうさまですとしか思えんし
PowerShellでさくっと書けるCUIをわざわざVisualStudio入れてC#で書いてビルドしてバイナリ配置して
ソースも別の場所でずっと管理してんの見るとアホだなあと思う
修正の度にソース探してまたビルドしてバイナリ配置して・・・ってなるんだし
あとPowershellのスクリプトの中でC#のコードを書いて使うこともできる
これがまた強力だからどっちも覚えて損はない
(速度はC#が圧倒的に速いから速度的にネックになってる部分だけC#でかくということができる)
将来性についてどっちもMSが力入れてるから気にすることはない
vbsに関して言えば所詮道具だから現状やりたいことができているんならわざわざ移行する必要もない
今んとこMSがWSHを切るって話もないし
766デフォルトの名無しさん
2019/08/17(土) 19:11:51.36ID:Ic+b/2I0 Linux 覚えたほうが良さそうw
767デフォルトの名無しさん
2019/08/17(土) 20:01:01.84ID:2EecLECc768デフォルトの名無しさん
2019/08/17(土) 20:37:46.41ID:fWrg11mT 役割違うからどっちも必要だと思う
Windows技術者じゃなく.NET技術者を目指して勉強して欲しい
Windows技術者じゃなく.NET技術者を目指して勉強して欲しい
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 でも、起動ファイルを作れる
870869
2019/10/27(日) 11:52:51.51ID:hJUpCTqv .bat に、powershell .\script.ps1
と書けば、ダブルクリックで起動できないか?
または、.vbs に、
CreateObject("WScript.Shell").Run "powershell .\script.ps1", 0
と書けば、ダブルクリックで起動できないか?
または、.vbs に、
CreateObject("WScript.Shell").Run "powershell .\script.ps1", 0
871デフォルトの名無しさん
2019/10/27(日) 12:06:15.48ID:NsKzBf3L872869
2019/10/27(日) 12:21:42.69ID:hJUpCTqv よく知らないけど、powershell は、ダブルクリックで起動するような、
危険なことは出来ないのじゃないか?
危険なことは出来ないのじゃないか?
873デフォルトの名無しさん
2019/10/27(日) 12:38:31.80ID:pI9qWgY0 >>872
バッチやvbsならダブルクリックも安全だとおっしゃるのでしょうか?
バッチやvbsならダブルクリックも安全だとおっしゃるのでしょうか?
874869
2019/10/27(日) 12:54:36.77ID:hJUpCTqv ダブルクリックで起動するのは、危険!
あくまで、個人用途
仕事ではやらない方が良い。
危険すぎる
あくまで、個人用途
仕事ではやらない方が良い。
危険すぎる
875デフォルトの名無しさん
2019/10/27(日) 12:57:45.64ID:gYi3Gz62 スクリプトのパスなら$MyInvocation.MyCommand.Path
876デフォルトの名無しさん
2019/10/27(日) 13:07:05.42ID:hKAQ6fM+ >>873
そのとおり
そのとおり
877デフォルトの名無しさん
2019/10/27(日) 13:40:21.93ID:Lik42TLZ878デフォルトの名無しさん
2019/10/27(日) 13:50:19.81ID:NsKzBf3L879869
2019/10/27(日) 14:01:18.04ID:hJUpCTqv ダブルクリックで起動するのは、危険!
ファイルをちょっと触っただけでも、
ダブルクリックになって起動起動されてしまうから、Microsoft も禁止してる!
Linux のシェバンでも、
ファイル名だけじゃ起動できないようにしてるだろ
./ファイル名
みたいに、パス付きじゃないと起動しないようにしてる
これも、ファイル名だけでリターンキーを触ってしまうと、起動されてしまって危険だから!
ダブルクリック起動では、多くの被害者が出てる
ファイルをちょっと触っただけでも、
ダブルクリックになって起動起動されてしまうから、Microsoft も禁止してる!
Linux のシェバンでも、
ファイル名だけじゃ起動できないようにしてるだろ
./ファイル名
みたいに、パス付きじゃないと起動しないようにしてる
これも、ファイル名だけでリターンキーを触ってしまうと、起動されてしまって危険だから!
ダブルクリック起動では、多くの被害者が出てる
880デフォルトの名無しさん
2019/10/27(日) 14:05:08.75ID:v/8cx3Zl vbsはファイルを全部パースしようとするからシェバン記法は使えないな
881デフォルトの名無しさん
2019/10/27(日) 14:05:49.29ID:Lik42TLZ ダブルクリックは危険!
ファイルをクリックしただけで起動しちゃう!
エクスプローラーからファイルをクリックできない
全部開いちゃう!
こうですか?
ファイルをクリックしただけで起動しちゃう!
エクスプローラーからファイルをクリックできない
全部開いちゃう!
こうですか?
882デフォルトの名無しさん
2019/10/27(日) 14:06:46.38ID:v/8cx3Zl 危険はexeでもバッチでも同じだろうに
powershellスクリプトだけを危険とする理由はない
powershellスクリプトだけを危険とする理由はない
883デフォルトの名無しさん
2019/10/27(日) 14:13:43.83ID:Lik42TLZ バッチファイルは危険じゃない!
APIが使えない。PowerShellスクリプトは何でもできる!
バッチファイルは他のスクリプトを呼び出すぐらいしかできない!
こうなるんですかね?
APIが使えない。PowerShellスクリプトは何でもできる!
バッチファイルは他のスクリプトを呼び出すぐらいしかできない!
こうなるんですかね?
884デフォルトの名無しさん
2019/10/27(日) 14:22:52.49ID:4/fJTv/Q >>878
引数の名前を指定して%~dpnx0を渡せばいいのでは
# D:\a.bat
@powershell -NoProfile -ExecutionPolicy Unrestricted "$s=[scriptblock]::create((gc \"%~f0\"|?{$_.readcount -gt 1})-join\"`n\"); & $s" -hoge %~dpnx0 %* & goto:eof
Param(
[string]$hoge
)
Write-Host $hoge
Write-Host $args[0]
Write-Host $args[1]
Write-Host $args[2]
pause
# D:\a.bat eof
D:\>a 0 1 2
D:\a.bat
0
1
2
続行するには、Enter キーを押してください...:
引数の名前を指定して%~dpnx0を渡せばいいのでは
# D:\a.bat
@powershell -NoProfile -ExecutionPolicy Unrestricted "$s=[scriptblock]::create((gc \"%~f0\"|?{$_.readcount -gt 1})-join\"`n\"); & $s" -hoge %~dpnx0 %* & goto:eof
Param(
[string]$hoge
)
Write-Host $hoge
Write-Host $args[0]
Write-Host $args[1]
Write-Host $args[2]
pause
# D:\a.bat eof
D:\>a 0 1 2
D:\a.bat
0
1
2
続行するには、Enter キーを押してください...:
885デフォルトの名無しさん
2019/10/27(日) 14:26:31.81ID:vcUKQgsd >>865
PC買いかえろよ…
PC買いかえろよ…
886デフォルトの名無しさん
2019/10/27(日) 14:31:11.79ID:vcUKQgsd887デフォルトの名無しさん
2019/10/27(日) 14:32:02.36ID:v/8cx3Zl マシン替えても相対的に速くなるだけで起動が遅いのは変わらないよ
888デフォルトの名無しさん
2019/10/27(日) 14:57:41.64ID:vcUKQgsd >>887
何を言ってるんだ?w
何を言ってるんだ?w
889デフォルトの名無しさん
2019/10/27(日) 15:18:23.27ID:FsLuN3Ol 前から気になってたんだがダブルクリックでps1が起動できない設計にどれだけのセキュリティの効能があるんだろな
batの中にPSスクリプトを埋め込んで実行ポリシーも上書きできるなら実質batのセキュリティレベルまで落ちる
batをメールに添付すると自動でフィルタリングされるけどps1なら安全だからフィルタされず拡張子を書き換える手間が省ける、というレベルの価値なのかな
batの中にPSスクリプトを埋め込んで実行ポリシーも上書きできるなら実質batのセキュリティレベルまで落ちる
batをメールに添付すると自動でフィルタリングされるけどps1なら安全だからフィルタされず拡張子を書き換える手間が省ける、というレベルの価値なのかな
890デフォルトの名無しさん
2019/10/27(日) 15:40:44.98ID:Lik42TLZ >>885
WSLから実行
$ time cmd.exe /c echo ok
ok
real 0m0.051s
user 0m0.000s
sys 0m0.016s
$ time powershell.exe -Command echo ok
ok
real 0m0.355s
user 0m0.000s
sys 0m0.016s
これは遅すぎる。
WSLから実行
$ time cmd.exe /c echo ok
ok
real 0m0.051s
user 0m0.000s
sys 0m0.016s
$ time powershell.exe -Command echo ok
ok
real 0m0.355s
user 0m0.000s
sys 0m0.016s
これは遅すぎる。
891デフォルトの名無しさん
2019/10/27(日) 15:41:31.49ID:Lik42TLZ892デフォルトの名無しさん
2019/10/27(日) 15:46:43.24ID:Lik42TLZ ちなみに-NoProfileをつけても大差ない
-NoProfileが無いから当然だが
-NoProfileが無いから当然だが
893デフォルトの名無しさん
2019/10/27(日) 15:47:02.36ID:Lik42TLZ × -NoProfileが無いから当然だが
○ Profileが無いから当然だが
○ Profileが無いから当然だが
894デフォルトの名無しさん
2019/10/27(日) 15:50:55.08ID:ho9vIROt895デフォルトの名無しさん
2019/10/27(日) 16:00:15.75ID:Lik42TLZ896デフォルトの名無しさん
2019/10/27(日) 16:37:26.26ID:rrcAfXPk897デフォルトの名無しさん
2019/10/27(日) 16:42:00.99ID:ElQsR2/N898デフォルトの名無しさん
2019/10/27(日) 17:18:28.01ID:cWrRHY0n ColorTool を使わずに同等のことって出来ませんかね。客先のマシンなので入れられないんです。
powershell.exe から ssh で Linux につないでるんだけど、青と黒の色が似通ってて、すごく見づらいのをなんとかしたいです。
powershell.exe から ssh で Linux につないでるんだけど、青と黒の色が似通ってて、すごく見づらいのをなんとかしたいです。
899デフォルトの名無しさん
2019/10/27(日) 17:20:23.02ID:ElQsR2/N プロパティから画面の色を変えるだけやろ?しらんけど
900898
2019/10/27(日) 18:07:06.31ID:cWrRHY0n901デフォルトの名無しさん
2019/10/27(日) 19:03:23.84ID:vcUKQgsd902デフォルトの名無しさん
2019/10/27(日) 19:07:32.81ID:f+MCPxtM Write-Hostは日本語環境だと遅いよ
903デフォルトの名無しさん
2019/10/27(日) 21:04:44.37ID:jAqyy8Vt904デフォルトの名無しさん
2019/10/28(月) 00:41:43.54ID:T67vLNbE >>903
出るでしょ、と言われてもそれ俺の疑問とズレてると思うんだが…
その理屈だと、ネットワークから入手したときに警告が出るからbatもそれなりに安全
ps1も同じように警告が出るなら同じように安全
だったらダブルクリックで実行できない仕様にしたことにはあまり意味がなかった、という結論だと受け取って良い?
出るでしょ、と言われてもそれ俺の疑問とズレてると思うんだが…
その理屈だと、ネットワークから入手したときに警告が出るからbatもそれなりに安全
ps1も同じように警告が出るなら同じように安全
だったらダブルクリックで実行できない仕様にしたことにはあまり意味がなかった、という結論だと受け取って良い?
905デフォルトの名無しさん
2019/10/28(月) 00:48:33.12ID:ML+fUsJB ダブルクリック実行が危険ってのは、オペレーション次第で意図しないタイミングで実行されるからだろ
別に実行されても問題ないタイプのものならいいけど
ファイル削除系とか実行されたら何らかの情報が変化しちゃう系だと困るってことだよ
あと、ダウンロードでフラグが立つのはNTFSに落とした場合のみでFATなら警告なしだよ
別に実行されても問題ないタイプのものならいいけど
ファイル削除系とか実行されたら何らかの情報が変化しちゃう系だと困るってことだよ
あと、ダウンロードでフラグが立つのはNTFSに落とした場合のみでFATなら警告なしだよ
906デフォルトの名無しさん
2019/10/28(月) 02:25:37.55ID:bqlyCkZ6 読み込むアセンブリを減らしたりして0.1秒減らした。
これでコマンド実行時間が0.45秒ぐらいになった。
でもPowerShellの起動時間0.3秒がやはり大きい
ネイティブexeにすりゃいいんだろうけど、そうすると気軽じゃなくなるからな
VBScriptでAPIが使えるならそっちのほうが速くなりそうだけど
これでコマンド実行時間が0.45秒ぐらいになった。
でもPowerShellの起動時間0.3秒がやはり大きい
ネイティブexeにすりゃいいんだろうけど、そうすると気軽じゃなくなるからな
VBScriptでAPIが使えるならそっちのほうが速くなりそうだけど
907デフォルトの名無しさん
2019/10/28(月) 06:35:24.37ID:kjzN6NI8 >>890
漏れは、パソコン工房のノートPC、CPU-i3, メモリ8GB, SSD-128GB で、
WSL, Ubuntu 16.04 で、2秒ぐらいw
~$ time powershell.exe -Command echo ok
ok
real 0m1.944s
user 0m0.000s
sys 0m0.031s
漏れは、パソコン工房のノートPC、CPU-i3, メモリ8GB, SSD-128GB で、
WSL, Ubuntu 16.04 で、2秒ぐらいw
~$ time powershell.exe -Command echo ok
ok
real 0m1.944s
user 0m0.000s
sys 0m0.031s
908907
2019/10/28(月) 06:41:24.18ID:kjzN6NI8 ただし、漏れはいつも、ノートPC を、
CPUを1つだけ使う、省エネモードにして使っている
それで、コンパイルが遅いのかも?
CPUを1つだけ使う、省エネモードにして使っている
それで、コンパイルが遅いのかも?
909デフォルトの名無しさん
2019/10/28(月) 08:13:17.35ID:SMRk50Ri910デフォルトの名無しさん
2019/10/28(月) 11:15:58.10ID:tEsfLTI+911デフォルトの名無しさん
2019/10/28(月) 12:44:27.32ID:tEsfLTI+ Windows Updateしたら大幅に下がったwww
今裏でなにかビルドしてるんかな? ngenとか?
$ time powershell.exe -Command echo ok
ok
real 0m1.390s
user 0m0.000s
sys 0m0.016s
今裏でなにかビルドしてるんかな? ngenとか?
$ time powershell.exe -Command echo ok
ok
real 0m1.390s
user 0m0.000s
sys 0m0.016s
912デフォルトの名無しさん
2019/10/28(月) 13:01:44.65ID:tEsfLTI+ これやったけど速くならない(´・ω・`)
https://stofublog.wordpress.com/2014/01/01/powershell%E8%B5%B7%E5%8B%95%E9%AB%98%E9%80%9F%E5%8C%96%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/
アップデート前まで速かったのに・・・
https://stofublog.wordpress.com/2014/01/01/powershell%E8%B5%B7%E5%8B%95%E9%AB%98%E9%80%9F%E5%8C%96%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/
アップデート前まで速かったのに・・・
913デフォルトの名無しさん
2019/10/28(月) 13:15:03.68ID:tEsfLTI+ なにかやったような記憶をたどり、
https://superuser.com/questions/1212442/powershell-slow-starting-on-windows-10
. (Join-Path ([Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory()) ngen.exe) update
↑これをPowerShell(管理者)で実行したら速くなった。(もとに戻った)
でも、一部指定されたファイルが見つかりません。とかエラーがでる。
よくわからんけど、このコマンドを実行してるだけ?
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe update
https://superuser.com/questions/1212442/powershell-slow-starting-on-windows-10
. (Join-Path ([Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory()) ngen.exe) update
↑これをPowerShell(管理者)で実行したら速くなった。(もとに戻った)
でも、一部指定されたファイルが見つかりません。とかエラーがでる。
よくわからんけど、このコマンドを実行してるだけ?
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe update
914デフォルトの名無しさん
2019/10/28(月) 13:24:18.55ID:tEsfLTI+ ここに情報があった。
https://blogs.msdn.microsoft.com/jpvsblog/2018/05/07/ngen/
v4.0.30319 というバージョンはいつ変わるんだろう?
https://blogs.msdn.microsoft.com/jpvsblog/2018/05/07/ngen/
v4.0.30319 というバージョンはいつ変わるんだろう?
915デフォルトの名無しさん
2019/10/28(月) 13:28:19.78ID:tEsfLTI+ Windows Updateしたせいかとも思ったけど、Visual Studio入れたからかもしれんな
ともかく、ngen updateしたらもとに戻った。
しばらく放置してても治るんだろうけど
ともかく、ngen updateしたらもとに戻った。
しばらく放置してても治るんだろうけど
916デフォルトの名無しさん
2019/10/28(月) 21:32:05.62ID:WDVIXPLl 強力そうなので始めてみたんだけど、たかが文字コード変換がなんで
さらっとできないんだろう…
さらっとできないんだろう…
917デフォルトの名無しさん
2019/10/28(月) 22:42:59.54ID:8eaZgTeu C#もどうせ遅いんだろ?と思ってやってみたら単純なHello Worldだと0.1秒程度だった
PowerShellよりマシなのか。読み込むアセンブリで変わってくるとは思うけど
C++だと0.05秒。圧倒的だが情報が少なすぎる。
PowerShellよりマシなのか。読み込むアセンブリで変わってくるとは思うけど
C++だと0.05秒。圧倒的だが情報が少なすぎる。
918デフォルトの名無しさん
2019/10/28(月) 22:43:45.66ID:i5LGlrvW PowerShellがあれば、文字コード変換も簡単です。
http://scripting.cocolog-nifty.com/blog/2010/01/powershell-6147.html
http://scripting.cocolog-nifty.com/blog/2010/01/powershell-6147.html
919デフォルトの名無しさん
2019/10/29(火) 02:18:49.94ID:vBIRwBaE echoが遅いことが判明
$ time powershell.exe -Command echo 1
1
real 0m0.378s
user 0m0.000s
sys 0m0.000s
$ time powershell.exe -Command 1
1
real 0m0.264s
user 0m0.000s
sys 0m0.000s
$ time powershell.exe -Command "[Console]::WriteLine(1)"
1
real 0m0.243s
user 0m0.000s
sys 0m0.000s
$ time powershell.exe -Command echo 1
1
real 0m0.378s
user 0m0.000s
sys 0m0.000s
$ time powershell.exe -Command 1
1
real 0m0.264s
user 0m0.000s
sys 0m0.000s
$ time powershell.exe -Command "[Console]::WriteLine(1)"
1
real 0m0.243s
user 0m0.000s
sys 0m0.000s
920デフォルトの名無しさん
2019/10/29(火) 03:21:02.42ID:rBco2ITF echoというよりコマンドレットの呼び出しにコストがかかるんだよ
Write-Outputの使用はあらゆる場面で完全に無意味で無駄だから使わない方がいい
それについてブログ書いてる人もいた
https://get-powershellblog.blogspot.com/2017/06/lets-kill-write-output.html
Write-Outputの使用はあらゆる場面で完全に無意味で無駄だから使わない方がいい
それについてブログ書いてる人もいた
https://get-powershellblog.blogspot.com/2017/06/lets-kill-write-output.html
921デフォルトの名無しさん
2019/10/29(火) 03:55:39.34ID:vBIRwBaE >>920
そうなんだろうなって気はしてた。
まだどれがコマンドレットかそうでないかよくわかってないレベルだけどw
間にハイフンで区切られてて、呼び出しにカッコがいらないのはコマンドレットだよな?
Where-Objectとかもなくせば速くなるんだろうか?
ようやくC++で実装できそうな情報が溜まってきた。
Unicodeとか訳わかんねぇ。情報がバラバラで多すぎてわからん。
たったこれだけ、たったこれだけなのに!
C++で実装したら0.1秒。だけどバイナリのビルドが必要
PowerShellだと0.45秒。
CLIコマンドとしてサクッと実行したときの体感速度が違いすぎる。
そうなんだろうなって気はしてた。
まだどれがコマンドレットかそうでないかよくわかってないレベルだけどw
間にハイフンで区切られてて、呼び出しにカッコがいらないのはコマンドレットだよな?
Where-Objectとかもなくせば速くなるんだろうか?
ようやくC++で実装できそうな情報が溜まってきた。
Unicodeとか訳わかんねぇ。情報がバラバラで多すぎてわからん。
たったこれだけ、たったこれだけなのに!
C++で実装したら0.1秒。だけどバイナリのビルドが必要
PowerShellだと0.45秒。
CLIコマンドとしてサクッと実行したときの体感速度が違いすぎる。
922デフォルトの名無しさん
2019/10/29(火) 04:14:17.53ID:rBco2ITF >>921
Where-Objectはめちゃくちゃ遅くて遅いコマンドレットの代表みたいな奴だから俺はスクリプトでは一切使わない
同様にForEach-Objectも遅い
何作ってるのか知らんけどC++はスレ違いだからあとはC++のスレでやった方がいい
powershell自体の起動も含めてC++で作ったバイナリより遅いとかいう情報は当然すぎるから要らない
Where-Objectはめちゃくちゃ遅くて遅いコマンドレットの代表みたいな奴だから俺はスクリプトでは一切使わない
同様にForEach-Objectも遅い
何作ってるのか知らんけどC++はスレ違いだからあとはC++のスレでやった方がいい
powershell自体の起動も含めてC++で作ったバイナリより遅いとかいう情報は当然すぎるから要らない
923デフォルトの名無しさん
2019/10/29(火) 05:02:05.41ID:CowX2GWO Ruby が良い。
Rubyから、クリップボード・powershell も使える。
CP932・UTF-8 の変換もできる
C++ は、コンパイル済みだろ。
コンパイル自体に時間が掛かるのは、Rubyも同じ
# クリップボード内の複数行文字列の、各行の先頭・末尾から、
# 連続する空白類を除去して、クリップボードに入れる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip ) # 連続する空白類を除去する
IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
Rubyから、クリップボード・powershell も使える。
CP932・UTF-8 の変換もできる
C++ は、コンパイル済みだろ。
コンパイル自体に時間が掛かるのは、Rubyも同じ
# クリップボード内の複数行文字列の、各行の先頭・末尾から、
# 連続する空白類を除去して、クリップボードに入れる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip ) # 連続する空白類を除去する
IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
924デフォルトの名無しさん
2019/10/29(火) 08:28:11.85ID:+8XugnXa925デフォルトの名無しさん
2019/10/29(火) 20:44:54.51ID:ltL5L5Cn こっちのスレにも書いておくわ
Windows 10 1903、PowerShell 5.1.18362.145
コマンドプロンプトを起動して
C:\Users\user> powershell.exe -Command [Console]::OutputEncoding
BodyName : iso-2022-jp
EncodingName : 日本語 (シフト JIS)
HeaderName : iso-2022-jp
WebName : shift_jis
WindowsCodePage : 932
IsSingleByte : False
EncoderFallback : System.Text.InternalEncoderBestFitFallback
DecoderFallback : System.Text.InternalDecoderBestFitFallback
IsReadOnly : True
CodePage : 932
C:\Users\user> powershell.exe -Command [Console]::OutputEncoding = [Text.Encoding]::UTF8
UTF8に変更する。
C:\Users\user>powershell.exe -Command [Console]::OutputEncoding
BodyName : utf-8
EncodingName : Unicode (UTF-8)
HeaderName : utf-8
WebName : utf-8
WindowsCodePage : 1200
IsSingleByte : False
EncoderFallback : System.Text.EncoderReplacementFallback
DecoderFallback : System.Text.DecoderReplacementFallback
IsReadOnly : True
CodePage : 65001
それぞれ、別々のコマンドとして実行してるのに、状態が変わるのはなんで?
Windows 10 1903、PowerShell 5.1.18362.145
コマンドプロンプトを起動して
C:\Users\user> powershell.exe -Command [Console]::OutputEncoding
BodyName : iso-2022-jp
EncodingName : 日本語 (シフト JIS)
HeaderName : iso-2022-jp
WebName : shift_jis
WindowsCodePage : 932
IsSingleByte : False
EncoderFallback : System.Text.InternalEncoderBestFitFallback
DecoderFallback : System.Text.InternalDecoderBestFitFallback
IsReadOnly : True
CodePage : 932
C:\Users\user> powershell.exe -Command [Console]::OutputEncoding = [Text.Encoding]::UTF8
UTF8に変更する。
C:\Users\user>powershell.exe -Command [Console]::OutputEncoding
BodyName : utf-8
EncodingName : Unicode (UTF-8)
HeaderName : utf-8
WebName : utf-8
WindowsCodePage : 1200
IsSingleByte : False
EncoderFallback : System.Text.EncoderReplacementFallback
DecoderFallback : System.Text.DecoderReplacementFallback
IsReadOnly : True
CodePage : 65001
それぞれ、別々のコマンドとして実行してるのに、状態が変わるのはなんで?
926デフォルトの名無しさん
2019/10/29(火) 20:47:41.08ID:ltL5L5Cn しかも powershell.exe だけに影響する話じゃなくて、
UTF8で書いたファイルを、コマンドプロンプト起動直後、
シフトJISモードのときにtypeしたら文字化けし、
UTF8に変更してからtypeしたら文字化けしない
明らかにコマンドプロンプトの状態が変わってる。
だけどchcpの値は932のままかわらない
ただ、PowerShellを使ってUTF8モードに切り替えると、
chcpすると「Active code page: 932」と英語で表示される。
UTF8で書いたファイルを、コマンドプロンプト起動直後、
シフトJISモードのときにtypeしたら文字化けし、
UTF8に変更してからtypeしたら文字化けしない
明らかにコマンドプロンプトの状態が変わってる。
だけどchcpの値は932のままかわらない
ただ、PowerShellを使ってUTF8モードに切り替えると、
chcpすると「Active code page: 932」と英語で表示される。
927デフォルトの名無しさん
2019/10/29(火) 23:40:36.07ID:JjalWxmz928デフォルトの名無しさん
2019/11/02(土) 12:30:04.56ID:1PdjBp7d この場合は True が返るんだけど(当然)、
Test-Path ${home}\ntuser.dat
こうした場合は False になる。
$a = [xml]('<?xml version="1.0"?><File>${home}\ntuser.dat</File>')
Test-Path $a.File
XML の値は、
"${home}\ntuser.dat" こうじゃなくて
'${home}\ntuser.dat' というふうに格納されてるようなんだけど、変数を展開するにはどうすればいいだろう?
Test-Path ${home}\ntuser.dat
こうした場合は False になる。
$a = [xml]('<?xml version="1.0"?><File>${home}\ntuser.dat</File>')
Test-Path $a.File
XML の値は、
"${home}\ntuser.dat" こうじゃなくて
'${home}\ntuser.dat' というふうに格納されてるようなんだけど、変数を展開するにはどうすればいいだろう?
929デフォルトの名無しさん
2019/11/02(土) 12:34:23.96ID:dF2n6ehk invoke expression
930デフォルトの名無しさん
2019/11/02(土) 13:07:31.37ID:esIitHWU931928
2019/11/02(土) 13:33:24.00ID:1PdjBp7d932デフォルトの名無しさん
2019/11/02(土) 18:11:26.52ID:71SUtLbe Powershellの演算子の優先順位が判るサイトが見当たらないんですがどっかにないですかね
演算子をカテゴリ毎に紹介してるサイトは多く見かけるんですが
演算子をカテゴリ毎に紹介してるサイトは多く見かけるんですが
933デフォルトの名無しさん
2019/11/02(土) 20:16:26.21ID:0WeT0cpY934デフォルトの名無しさん
2019/11/03(日) 02:57:41.69ID:hkCRv+PE >>933
ありがとうございます!助かりました!
ありがとうございます!助かりました!
935デフォルトの名無しさん
2019/11/03(日) 03:32:58.98ID:Y1hBQ+8z どういたしまして!
936デフォルトの名無しさん
2019/11/05(火) 23:35:55.67ID:ocMK86pm m(_ _)m誰か教えて下さい。
フォーム上にコンボボックスを大量配置したいのですが、一つずつ以下みたいに書くと大変です。
これを関数化する方法を教えて下さい。
$Combo = New-Object System.Windows.Forms.Combobox
$Combo.Location = New-Object System.Drawing.Point(10,10)
$Combo.size = New-Object System.Drawing.Size(150,30)
フォーム上にコンボボックスを大量配置したいのですが、一つずつ以下みたいに書くと大変です。
これを関数化する方法を教えて下さい。
$Combo = New-Object System.Windows.Forms.Combobox
$Combo.Location = New-Object System.Drawing.Point(10,10)
$Combo.size = New-Object System.Drawing.Size(150,30)
937デフォルトの名無しさん
2019/11/06(水) 02:58:52.99ID:+N82MWJ/ >>936
普通に$comboを返す関数を作ればいい
winforms書く時は使えるバージョンならusing namespaceを使った方がすっきりする
個人的にNew-Objectは遅いだけなのでなるべく使わない
暗黙の型変換を積極的に使うとすっきりする
using namespace System.Windows.Forms
Add-Type -AssemblyName System.Windows.Forms
function Create-ComboBox($Left, $Top, $Width, $Height) {
$combo = [ComboBox]::new()
$combo.Location = "$Left, $Top"
$combo.size = "$Width, $Height"
$combo
}
$form = [Form]::new()
$form.Size = "200,200"
$combo1 = Create-ComboBox -Left 10 -Top 50 -Width 160 -Height 30
$form.Controls.Add($combo1)
$form.ShowDialog()
普通に$comboを返す関数を作ればいい
winforms書く時は使えるバージョンならusing namespaceを使った方がすっきりする
個人的にNew-Objectは遅いだけなのでなるべく使わない
暗黙の型変換を積極的に使うとすっきりする
using namespace System.Windows.Forms
Add-Type -AssemblyName System.Windows.Forms
function Create-ComboBox($Left, $Top, $Width, $Height) {
$combo = [ComboBox]::new()
$combo.Location = "$Left, $Top"
$combo.size = "$Width, $Height"
$combo
}
$form = [Form]::new()
$form.Size = "200,200"
$combo1 = Create-ComboBox -Left 10 -Top 50 -Width 160 -Height 30
$form.Controls.Add($combo1)
$form.ShowDialog()
938デフォルトの名無しさん
2019/11/06(水) 05:18:39.91ID:+Isovp9U x.Size="1,2"
こういう書き方できるの知らんかった
こういう書き方できるの知らんかった
939936
2019/11/06(水) 11:38:21.31ID:viRYf3W9940デフォルトの名無しさん
2019/11/06(水) 19:25:34.62ID:du9DeY6n >>939
5.0以上にアップグレードすればWin7でも使えるんじゃないの?インストール不可なだめだけど
5.0以上にアップグレードすればWin7でも使えるんじゃないの?インストール不可なだめだけど
941936
2019/11/08(金) 09:54:16.57ID:RMGDBEVY 緊急でお願いします。マルチバイト文字のパディングのやり方を教えて下さい。サンプルコードがあると嬉しいです。
942デフォルトの名無しさん
2019/11/08(金) 10:20:36.03ID:weGpRZzk 入力と出力のサンプル位出したら
943デフォルトの名無しさん
2019/11/08(金) 10:20:37.27ID:bpFYbH+Z うっかり bash と間違えて ctrl+R と打ってしまったんだけど、PowerShel でも同じように機能したんだな。
軽く感動したわ。
軽く感動したわ。
944デフォルトの名無しさん
2019/11/08(金) 10:41:43.51ID:wfK2aVsO ctrl + Alt + shift + /
でショートカット一覧が出るからざっと見ておくといいよ
でショートカット一覧が出るからざっと見ておくといいよ
945デフォルトの名無しさん
2019/11/08(金) 11:47:48.53ID:bt2cbsd4 PowerShellにディレクトリ、ファイル名以外の
補完機能ってあるの?
補完機能ってあるの?
946デフォルトの名無しさん
2019/11/08(金) 12:27:29.71ID:CJ6EXBGx947デフォルトの名無しさん
2019/11/08(金) 14:17:43.58ID:bpFYbH+Z948デフォルトの名無しさん
2019/11/08(金) 14:41:45.11ID:wfK2aVsO ついでに以下のコマンドで画面だしとけばチートシートになるよ
Get-PSReadLineKeyHandler | ogv
Get-PSReadLineKeyHandler | ogv
949デフォルトの名無しさん
2019/11/08(金) 17:13:11.44ID:bpFYbH+Z >>948
「俺専用PowerShellアンチョコ.txt」に記録した。重ね重ねありがとう。
「俺専用PowerShellアンチョコ.txt」に記録した。重ね重ねありがとう。
950デフォルトの名無しさん
2019/11/09(土) 17:39:02.10ID:LvjWth2U powershellで海外にアクセスできないように設定できますか?
951デフォルトの名無しさん
2019/11/09(土) 17:42:01.74ID:FbsqDOHf 海外とは
952デフォルトの名無しさん
2019/11/10(日) 05:11:31.78ID:47iDVxCF そういやweb鯖のサンプルがあったな
ピロキシぐらい作れるよな
ピロキシぐらい作れるよな
953デフォルトの名無しさん
2019/11/10(日) 16:21:24.11ID:LxY6Tlm9 海外鯖を経由しない通信にしたい。
それか海外からの通信をファイアウォールで
全部ブロックしたい。
って考えたらhostsしかないかな?
めんどくさいな。
それか海外からの通信をファイアウォールで
全部ブロックしたい。
って考えたらhostsしかないかな?
めんどくさいな。
954デフォルトの名無しさん
2019/11/10(日) 16:35:30.22ID:z3CQn4/q 自分ですべての経路把握する必要あるし無理じゃね?
955デフォルトの名無しさん
2019/11/10(日) 17:15:59.31ID:iyIsn8nz >>953
曖昧すぎてアドバイスのしようがないな
曖昧すぎてアドバイスのしようがないな
956デフォルトの名無しさん
2019/11/10(日) 17:17:57.36ID:uhrgfz89 hostsに一体いくつ「海外」とやらのホストを指定するのやら
OS側でやるのが適当なのかそれ
業務用なのか個人用なのかもわからん
OS側でやるのが適当なのかそれ
業務用なのか個人用なのかもわからん
957デフォルトの名無しさん
2019/11/10(日) 17:54:04.00ID:otD8Z0ZU windows updateも海外なのか?
958デフォルトの名無しさん
2019/11/10(日) 20:34:29.07ID:LxY6Tlm9 すみませんでした。そうなるとなんかややこしくなりそうなのでやめます。
ブラウザの拡張でやりますわ。
ありがとうございました。
ブラウザの拡張でやりますわ。
ありがとうございました。
959デフォルトの名無しさん
2019/11/11(月) 08:27:46.29ID://Nnw6zP Windows PowerShell を使用した高度なセキュリティ管理を使用する windows Defender ファイアウォール
https://docs.microsoft.com/ja-jp/windows/security/threat-protection/windows-firewall/windows-firewall-with-advanced-security-administration-with-windows-powershell
https://docs.microsoft.com/ja-jp/windows/security/threat-protection/windows-firewall/windows-firewall-with-advanced-security-administration-with-windows-powershell
960デフォルトの名無しさん
2019/11/11(月) 17:18:43.20ID:WYwNeQAp ありがとうございました。
961デフォルトの名無しさん
2019/11/18(月) 08:47:59.75ID:604fXs7f タブストップ中コンボボックスの文字の背景色を青ではなく薄水色にしたいのですが、やり方がわかりません。ご存知の方、よろしくお願い申し上げます。
962自己レス
2019/11/18(月) 12:09:14.04ID:604fXs7f963デフォルトの名無しさん
2019/11/18(月) 15:09:03.25ID:Crm1ovkb test 452452424524524
964デフォルトの名無しさん
2019/11/18(月) 15:10:33.45ID:Crm1ovkb Windows 10 に標準搭載された OpenSSH と PowerShell の機能だけを使用して、公開鍵をサーバにアップロードしたいと考えています。
(ssh-copy-id は shell スクリプトなので Windows 版の OpenSSH には含まれていない)
(ssh-copy-id は shell スクリプトなので Windows 版の OpenSSH には含まれていない)
965デフォルトの名無しさん
2019/11/18(月) 15:11:33.77ID:Crm1ovkb 調べた結果、まず以下のコマンドが cmd.exe 上では完璧に動作することを確認しました。
※元のコードを貼ると 403 Forbidden となるので Pastebin を使ってます
https://pastebin.com/kCqKQm9T
これを以下の通り PowerShel に置き換えました。
https://pastebin.com/CSE9sCnB
一応、公開鍵のアップロードまでは出来たんですけど、ssh.exe のプロセスが終了しません。
(wait = $true にした場合はプロンプトが返ってこない)
何が悪いんでしょうね。
※元のコードを貼ると 403 Forbidden となるので Pastebin を使ってます
https://pastebin.com/kCqKQm9T
これを以下の通り PowerShel に置き換えました。
https://pastebin.com/CSE9sCnB
一応、公開鍵のアップロードまでは出来たんですけど、ssh.exe のプロセスが終了しません。
(wait = $true にした場合はプロンプトが返ってこない)
何が悪いんでしょうね。
966デフォルトの名無しさん
2019/11/18(月) 15:15:42.87ID:Crm1ovkb 追伸:CloudFlare で 403 Forbidden になってたのはレスに cmd.exe という文字列が含まれいたのが原因のようです。コードは関係なかったっぽい。
967デフォルトの名無しさん
2019/11/18(月) 15:35:44.61ID:Crm1ovkb どうやら、ssh.exe に対して公開鍵の文字列をパイプで渡した場合は正常終了するのですが、標準入力で渡した場合はプロセスが残ることが分かりました。
cmd.exe 上でも、標準入力で渡した場合はプロセスが残ります。
Start-Process は「You cannot pipe input to this cmdlet.」とのことでパイプからの入力を受け付けないんですけど、なにか良い手はないですかね?
cmd.exe 上でも、標準入力で渡した場合はプロセスが残ります。
Start-Process は「You cannot pipe input to this cmdlet.」とのことでパイプからの入力を受け付けないんですけど、なにか良い手はないですかね?
968デフォルトの名無しさん
2019/11/18(月) 16:07:26.07ID:Crm1ovkb 何度もすみません、自己レス。
パイプならよかろう、ということで以下の3パターンで試したところ、ssh.exe は正しく終了するようになったのですが、authorized_keys には CL+LF が追加されてしまいました。
$PubKey = Get-Content "${home}\.ssh\id_rsa.pub"
Write-Output $PubKey -NoEnumerate | ssh root@${DST} "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys"
Out-String -InputObject $PubKey | ssh root@${DST} "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys"
type "${home}\.ssh\id_rsa.pub" | ssh root@${DST} "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys"
最終的に、これで妥協しました。ダサい。もっとスマートな書き方はないものだろうか。
https://pastebin.com/KpKkuGcQ
パイプならよかろう、ということで以下の3パターンで試したところ、ssh.exe は正しく終了するようになったのですが、authorized_keys には CL+LF が追加されてしまいました。
$PubKey = Get-Content "${home}\.ssh\id_rsa.pub"
Write-Output $PubKey -NoEnumerate | ssh root@${DST} "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys"
Out-String -InputObject $PubKey | ssh root@${DST} "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys"
type "${home}\.ssh\id_rsa.pub" | ssh root@${DST} "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys"
最終的に、これで妥協しました。ダサい。もっとスマートな書き方はないものだろうか。
https://pastebin.com/KpKkuGcQ
969デフォルトの名無しさん
2019/11/18(月) 16:13:01.04ID:Crm1ovkb ごめんなさい、標準入力では ssh.exe が終了しない原因が分かりました。
sshkeygen で生成された id_rsa.pub は、行末で改行していないためでした。
エディタで開いて改行させたところ、
https://pastebin.com/CSE9sCnB
これでも動作しました。
お騒がせしました。
sshkeygen で生成された id_rsa.pub は、行末で改行していないためでした。
エディタで開いて改行させたところ、
https://pastebin.com/CSE9sCnB
これでも動作しました。
お騒がせしました。
970デフォルトの名無しさん
2019/11/19(火) 00:02:22.77ID:rlpD1oBO 参考になった ありがとう
971デフォルトの名無しさん
2019/11/20(水) 13:28:40.93ID:aW1lygKI どういたしまして
972デフォルトの名無しさん
2019/11/24(日) 16:11:02.22ID:UhvIpOa2 Get-ChildItemで困っている事があります。
解決方法を知っている方がいましたら教えてください。
*.txt *.bin
などの拡張子を持つファイルを一括して集める場合
$result = Get-ChildItem *.txt,*.bin
とすれば集まりますが
hoge,hage.txt
というファイル名に、 ',' が含まれているファイル名があると、 *.txt,*.bin のようなセパレーターとして認識してしまい
ワイルドカードにヒットするbase nameが hoge までになってしまい$resultに値が入ってきません。
','などのセパレーターを含むファイル名を Get-ChildItem でワイルドカード指定するにはどうすればよいでしょうか?
解決方法を知っている方がいましたら教えてください。
*.txt *.bin
などの拡張子を持つファイルを一括して集める場合
$result = Get-ChildItem *.txt,*.bin
とすれば集まりますが
hoge,hage.txt
というファイル名に、 ',' が含まれているファイル名があると、 *.txt,*.bin のようなセパレーターとして認識してしまい
ワイルドカードにヒットするbase nameが hoge までになってしまい$resultに値が入ってきません。
','などのセパレーターを含むファイル名を Get-ChildItem でワイルドカード指定するにはどうすればよいでしょうか?
973デフォルトの名無しさん
2019/11/24(日) 16:29:56.73ID:E4b/CXSq974デフォルトの名無しさん
2019/11/24(日) 20:06:33.13ID:JDFz9pDe うちはGet-ChildItem *.txt,*.binで引っかかるけど
dir *.txt,*.bin | ?{ $_.Name -like "h*"}でフィルタして確認してみれば?
dir *.txt,*.bin | ?{ $_.Name -like "h*"}でフィルタして確認してみれば?
975デフォルトの名無しさん
2019/11/28(木) 17:33:57.96ID:G1SJ/xZS スクリプトで
VPNセッションを張って、opensshでLinuxサーバーにログインしたいんですが、クレデンシャル情報ってどう引き渡せば良いですか?
VPNセッションを張って、opensshでLinuxサーバーにログインしたいんですが、クレデンシャル情報ってどう引き渡せば良いですか?
976デフォルトの名無しさん
2019/11/28(木) 17:35:59.16ID:KHBZf3ql どこのクレデンシャル情報を、どこに渡すんです?
977デフォルトの名無しさん
2019/11/28(木) 17:40:45.55ID:G1SJ/xZS >>976
ssh、vpnのコマンドにです
ssh、vpnのコマンドにです
978デフォルトの名無しさん
2019/11/28(木) 17:41:50.79ID:KHBZf3ql そのクレデンシャル情報には何が書かれてるんです?
979デフォルトの名無しさん
2019/11/28(木) 17:42:46.64ID:KHBZf3ql ssh、vpnにクレデンシャル情報を渡すとどうなるんです?
どうなるように設定したんですか?
どうなるように設定したんですか?
980デフォルトの名無しさん
2019/11/28(木) 18:10:58.12ID:G1SJ/xZS すいません。
ここで聞いたのが間違いでした。
Linuxサーバーにログインしたいと書いてあるのにどうしたいと言われても困りますので。
では。
ここで聞いたのが間違いでした。
Linuxサーバーにログインしたいと書いてあるのにどうしたいと言われても困りますので。
では。
981デフォルトの名無しさん
2019/11/28(木) 18:17:16.35ID:KHBZf3ql だからログインできるようにLinuxサーバーに設定したんですか?
982デフォルトの名無しさん
2019/11/28(木) 19:03:26.14ID:o2XGBpkX VPN関係あるの?
ssh -i 秘密キーファイル ユーザー名
という外部コマンドの呼び出し方を聞いてるの?
ssh -i 秘密キーファイル ユーザー名
という外部コマンドの呼び出し方を聞いてるの?
983デフォルトの名無しさん
2019/12/18(水) 06:19:20.47ID:DPpTEq4j ちょっと気づいたのでメモ
ハッシュテーブルからいろいろな型にキャストするのがわりといろんな場面で使える
例えば>>936は次のように書ける
using namespace System.Windows.Forms
Add-Type -AssemblyName System.Windows.Forms
$form = [Form]@{ Size = "200,200" }
$combo = [ComboBox]@{ Location = "10,50"; Size = "160,30" }
$form.Controls.Add($combo)
$form.ShowDialog()
もし"200,200"ってのが気持ち悪いならさらに
$form = [Form]@{ Size = @{ Width = 200; Height = 200 } }
としてもいい
ハッシュテーブルからいろいろな型にキャストするのがわりといろんな場面で使える
例えば>>936は次のように書ける
using namespace System.Windows.Forms
Add-Type -AssemblyName System.Windows.Forms
$form = [Form]@{ Size = "200,200" }
$combo = [ComboBox]@{ Location = "10,50"; Size = "160,30" }
$form.Controls.Add($combo)
$form.ShowDialog()
もし"200,200"ってのが気持ち悪いならさらに
$form = [Form]@{ Size = @{ Width = 200; Height = 200 } }
としてもいい
984デフォルトの名無しさん
2019/12/18(水) 06:21:03.31ID:DPpTEq4j985デフォルトの名無しさん
2019/12/18(水) 23:38:33.69ID:kDyrT7eN キャストでオブジェクト生成か
理屈は判るけどキモイな
理屈は判るけどキモイな
986デフォルトの名無しさん
2019/12/19(木) 21:20:43.94ID:A7bzsjq6 C#のオブジェクト初期化子みたいなものだと思えばいいかも
987デフォルトの名無しさん
2019/12/31(火) 07:16:04.44ID:xfr0s5Fj 怒らないで教えて欲しいんだが
WSLでよくね?
WSLでよくね?
988デフォルトの名無しさん
2019/12/31(火) 07:38:32.37ID:Ttaqvt+E いや誰もPowerShellを万能の利器とは考えてない
適材適所
適材適所
989デフォルトの名無しさん
2019/12/31(火) 09:49:11.63ID:ZmMnRfLg >>987
それに答えるためには、お前が何をしたいのかを聞く必要がある
それに答えるためには、お前が何をしたいのかを聞く必要がある
990デフォルトの名無しさん
2019/12/31(火) 09:53:59.69ID:vL9iUG+A WSL使うなら最初からLinuxをインストールして使えばいい
991デフォルトの名無しさん
2019/12/31(火) 21:14:44.78ID:wxhVB0za WSLていうかUNIXシェルでいいなら、なんでLinuxユーザーがわざわざPowerShellを使ってると思うの?
https://msit.powerbi.com/view?r=eyJrIjoiYTYyN2U3ODgtMjBlMi00MGM1LWI0ZjctMmQ3MzE2ZDNkMzIyIiwidCI6IjcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0NyIsImMiOjV9&pageName=ReportSection5
https://msit.powerbi.com/view?r=eyJrIjoiYTYyN2U3ODgtMjBlMi00MGM1LWI0ZjctMmQ3MzE2ZDNkMzIyIiwidCI6IjcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0NyIsImMiOjV9&pageName=ReportSection5
992デフォルトの名無しさん
2019/12/31(火) 21:26:22.98ID:4NGA+Zr1 >>991
知らない教えて
知らない教えて
993デフォルトの名無しさん
2019/12/31(火) 21:58:25.71ID:ajjU1twk 事情があって嫌々ながらLinux使わざるをえないWindowsユーザーがPowershell採用してる
994デフォルトの名無しさん
2019/12/31(火) 22:01:43.89ID:FiZAbpfr PowerShellのほうが強力だしな
995デフォルトの名無しさん
2020/01/01(水) 08:33:54.15ID:KGLKi7tz そろそろ Ruby ガイジが出てくる頃かな?
996デフォルトの名無しさん
2020/01/01(水) 13:06:34.59ID:voSHdO49 rubyくんが出るのは、スクリプトを作れるような質問が出たときだろ
997デフォルトの名無しさん
2020/01/01(水) 15:19:12.54ID:IT8L/q0G h
998デフォルトの名無しさん
2020/01/01(水) 15:19:29.24ID:IT8L/q0G t
999デフォルトの名無しさん
2020/01/01(水) 15:19:45.39ID:IT8L/q0G l
1000小倉優子 ◆YUKOH0W58Q
2020/01/01(水) 15:20:34.34ID:IT8L/q0G ∧,,,∧
( ・∀・) 1000ならジュースでも飲むか
( )
し─J
( ・∀・) 1000ならジュースでも飲むか
( )
し─J
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 448日 21時間 33分 46秒
新しいスレッドを立ててください。
life time: 448日 21時間 33分 46秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- なぜ?「就職氷河期世代」への支援続々…石破首相が“就労支援”など3本柱の対策を指示するなど各党が発表 ★2 [煮卵★]
- 駅前の一等地にデータセンター計画、「人が入れない施設が建っていいのか」と反対の声相次ぐ [蚤の市★]
- 「米価このまま維持されてしかるべきだ」佐賀県知事、稲作農家の経営踏まえ言及 [蚤の市★]
- 木村拓哉が「ドッグウェアは人間のエゴ」発言、上沼恵美子が反論し論争勃発 獣医師は「必要性は犬それぞれ」 [ネギうどん★]
- 万博会場内から救急搬送された来場者が死亡 万博協会「適切な処置」 [少考さん★]
- 日本の未来の姿!?1人当たりGDP世界5位→82位へ転落した「元・先進国」の静かなる衰退を現地ルポ (泉 秀一氏) [少考さん★]
- 【石破アライさん】 アライグマ、2本足で上手に立って食べる [732912476]
- 【悲報】財務省「減税したいってことは、教育も医療も生活保護も警察も道路も必要ないってことですよね?それでいいんですね [257926174]
- ▶土曜お昼の白上フブキすこすこスレ
- 【朗報】ティラノサウルスさん、復権wwwwwwwwwwwwwwwwwwwwwww [308389511]
- 【実況】博衣こよりのえちえちクロノクロス🧪★3
- お前らって韓国嫌いだけど好きなK-POPグループはどこなの?