1 名前:デフォルトの名無しさん [2013/09/12(木) 18:35:04.72 .net] スレなかったので立てました
129 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 20:20:34.62 .net] 成否を返す関数との相性は悪いよな あと複数結果返す関数でいえば結果が一個の時と複数の時でタイプが変わるのが気持ち悪かったわ $x = ls とかやったときにファイルが複数あると $x.GetType() => Array だけど 一個しか無いと $x.GetType() => DirectoryInfo ときたもんだ @()で呼び出しゃいいんだけど
130 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 20:21:58.90 .net] あくまでシェルであって言語としてはかなり歪だと思う
131 名前:デフォルトの名無しさん [2014/03/02(日) 20:29:09.68 .net] >>129 そりゃ旧来のシェルのほとんどは単なる文字列操作にすぎないからね。
132 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 20:32:39.91 .net] いや、言語としてはいいと思う。 が、シェルだと考えると、 .NETやコマンドレットだけじゃなく、外のコマンド・プログラムをたくさん使うことになるわけなので、 それらの戻りを全部把握して処理しないといけないのは、結構大変なことだと思う。 嵌って、「パイプラインすげー」と思う人、「なんだこれ、使えねーw」と思う人それぞれ。
133 名前:デフォルトの名無しさん [2014/03/02(日) 20:33:12.58 .net] >>128 初めは俺も思った。 なれたらこの方が便利だけど。 returnの役割は、スコープ終了と、リターンコードを返すための利用。てな感じ なんだろな。 結果とリターンコード両方が取れるのは、俺にとっては便利。
134 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 22:50:50.92 .net] >>120 いや俺が>>116 で言ったのは、文字列だけ書いたらそれが画面に表示されるってのはPowerShellくらいだから(ないことはないだろうけど) 他の言語の感覚で文字列だけ書いてたら出力に混じって嫌だって例文は違和感があるって話 printfの感覚で echo hoge って書いたら出力に混じるから困惑したってことなら分かるけどって意味 だから出力が混じって困る例なら、たとえばC#で戻り値があることを意識してないメソッドを呼ぶような例がいいんじゃないか、ってんで>>116 で書いた 確かに最終版はともかくデバッグ中は文字列埋め込むこともあるかもしれないけどね
135 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 23:05:47.11 .net] なんか出力と戻り値を取り違えてる奴がいるからややこしくなったんだろな。 あと例もよくなかった。 単に戻り値を返す適当な処理を書いとけば出力がどうのって話にならなかったんだと思う。
136 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 23:31:47.97 .net] 本買って読めとまでは言わんけど、man about_Returnにすら書いてあることくらいは読もうぜってことで
137 名前:デフォルトの名無しさん mailto:sage [2014/03/03(月) 22:10:36.75 .net] 【メモ】 write-output write-hostの違い。 ググって出てくるのは、色が付けられるとか、空行がどうのとか、そういうことばかり。 write-output "foo" echo "foo" "foo" は全部同じで、パイプラインに出力。 write-host "bar" | gm (エラー) つまり、write-hostは、コンソールへの直接出力(パイプライン経由ではない)。
138 名前:デフォルトの名無しさん mailto:sage [2014/03/03(月) 22:55:59.13 .net] コンソールっていうかホストプログラム全般な 画面へ出力することを前提としているから色を指定できる あとSnover泣いちゃうからまずヘルプ読んであげて
139 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 18:15:30.08 .net] win8.1でヘルプが入ってなかったから、update-helpしたわけだが、英語版しか入らなかった('A`)
140 名前:デフォルトの名無しさん [2014/03/06(木) 23:40:23.45 .net] 英語を勉強するチャンス!
141 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 23:44:05.55 .net] >>138 これは実績もあるイルカに期待するしかないかw
142 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 19:07:10.78 .net] >>138 「Windows PowerShell 実践システム管理ガイド」 2009初版、という本によると、 C:\Windows\System32\WindowsPowerShell\v1.0 に、 ja-JP というフォルダを作って、そこに en-US フォルダにあるすべてのファイルをコピーする と書いてある 漏れはWin8だけど、ja-JP フォルダの中には、 すでに数個のファイルが存在している どうすべきかな?誰か試しにやってみて ja-JP フォルダの中の default.helpには、 オンラインヘルプのアドレスが書いてある
143 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 10:57:34.76 .net] 7だと最初から入ってたよね。 だから、2008R2でも特になにもしなくてもリファレンスは使えてた。 2012R2だと、どうなんだろ。 サーバの場合、インターネットに直接繋げないケースも多いわけで。 WSUSではたぶん面倒見てくれないから、SCCMとか使うのかね。
144 名前:141 [2014/03/08(土) 15:49:20.02 .net] 漏れはWin8だけど、 C:\Windows\System32\WindowsPowerShell\v1.0 中の、 en-US フォルダの中には、powershell.exe.mui というファイルが一つあるだけ これを、ja-JP フォルダにコピーすれば良いのか? ただし、ja-JPにもすでに、同名のファイルがある 同名のファイルだが、ファイルのサイズは違う 前者は11KBで、後者は9KB このファイルは何だろう? ヘルプファイルをダウンロードするプログラムか何か?
145 名前:141 mailto:sage [2014/03/08(土) 16:26:47.96 .net] powershell と同じフォルダにある、 デバッグ用のpowershell_ise の方が使いやすい 右のコマンド一覧から、 コマンド + オプションを選んで実行できる
146 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 16:30:57.24 .net] 最近のISEはコマンド一覧とかついてるんか
147 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 20:18:38.26 ID:LfplOf8O.net] 真面目な話、 ・Windows Server のユーザーである ・管理系のスクリプトを作りたい ・先の見えてる .bat や .vbs よりかは将来性がある しかし、これらを全て満たす状況じゃないと「憶えても無駄」な嫌な匂いがプンプンしてくる、という感想を抱く。 PowerShell 推しな記事がこぞって 4〜5年前だったりするし。記事が古いから役に立たないし。 でもこれからの Windows Server 管理(特に MS 製サーバーアプリ)には必須、みたいな匂いもプンプンしてくる。 管理者系の人間が嫌々使ってる、というイメージなんだけど、実際はどうなの?
148 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 22:08:56.67 ID:Fzs/8hFo.net] そんなところじゃないの? 開発案件だったらわざわざこれを選ぶ人はいないだろうし
149 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 22:54:04.60 ID:3UAaFn0/.net] batは低機能過ぎるし、vbsは糞言語のうえシェルじゃないし。
150 名前:146 mailto:sage [2014/03/27(木) 18:33:56.87 ID:w9DVguFT.net] >>147 だよねぇ… 泣きながら学ぶことにするよ… >>148 ええと、シェルとしての PowerShell については何も言ってないのだが…。 VBScript は言語としてはそんなに悪い言語じゃないと思ってる。 ちょっと凝ったことをやろうとすると COMオブジェクトに頼るしかなくて、おもくそ環境依存、意地になって自前実装するとウルトラ遅くなる駄目な子、というとこなら同意。 シグナルのハンドリングというところまで極めてはいないのでそこは了承願いたい。 エラーを raise できるのは知ってるが、はて SIGKIL とか SIGHUP とかを外部から受け取った時はどうだったっけ、な感じなんで。
151 名前:デフォルトの名無しさん mailto:sage [2014/03/27(木) 22:54:36.60 ID:5oUWcvgH.net] ム板で言ってもしょうがないが、そもそも開発案件で候補に挙がるような言語じゃないだろう シェルスクリプト/ツールとして使う分には普通に便利に使ってるけど
152 名前:デフォルトの名無しさん mailto:sage [2014/03/30(日) 07:01:13.94 ID:4uJ25Yxc.net] これがそうでもない。 プロト的につかったり メニュー画面がらみ案件に使ったり 相当使える。
153 名前:デフォルトの名無しさん mailto:sage [2014/03/30(日) 07:30:21.97 ID:Ym7n0+3V.net] そんなのVSでポトペタの方が早いじゃないですかやだー
154 名前:デフォルトの名無しさん [2014/03/30(日) 12:03:12.26 ID:1u4x9v7e.net] >>152 画面はVSでポトペタをそのまま使える PowerShellでホストする。 めちゃくちゃ簡単になる。
155 名前:デフォルトの名無しさん mailto:sage [2014/03/30(日) 13:20:00.33 ID:RDnNVplQ.net] >>152 それ、VSの立場が理解できてないんだとおもうぞ
156 名前:デフォルトの名無しさん mailto:sage [2014/03/30(日) 13:40:34.98 ID:o9ag65ui.net] 納品用のPCに泣きながらVSをインストールする>>152 を目撃したという未確認情報が入りました
157 名前:デフォルトの名無しさん [2014/03/30(日) 15:51:48.19 ID:RDnNVplQ.net] >>152 たとえばWPFなら、VSで作る画面(XAML)をC#で使えるよね これはC#用に作っているわけじゃなく、XAMLとして作られている。 独立したものなんです。これがコードビハインドという考え方。 だから同じものをVBでも使えるよね。 同じようにPowerShellでも使えるんです。 イメージわかってくれたかな? 知っているかもしれないけど、ついでなんで、 バインドという考え有るよね。 これを組み合わせるとJavaなどと比べて何倍も高い開発効率を 生めるのが、現在の.NETの世界となってきている。 なんで、Javaやめて戻ってきた次第。
158 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 00:31:05.84 ID:3P7ATE0k.net] >>153 すいませんが、アホの俺にもわかるように教えて下さい。 Powershellでホストするって?
159 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 00:37:28.56 ID:3P7ATE0k.net] d.hatena.ne.jp/ladybug/20111204/p1 こういうことですか?
160 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 00:51:18.63 ID:HPrdAsyG.net] xamlでUI作ったらPowerShellから読み込んでShowDialog()で呼び出すってだけじゃ?
161 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 06:31:38.92 ID:nFhjZp0H.net] $arr=ls $arr.Name $arr.fullname Nameでファイル名、fullnameでフルパスを取り出すのは便利 ただし、入力補完ではこれらの候補が出ない
162 名前:デフォルトの名無しさん [2014/03/31(月) 09:16:41.02 ID:ObzhI129.net] >>160 そもそも ls.Nameってあったけ?
163 名前:デフォルトの名無しさん [2014/03/31(月) 13:34:02.17 ID:FswzEzL9.net] >>160 ls -Nameの間違いかな? $arr=ls $arr -Name としたいということだとすると、無理じゃないかな new-alias arr ls arr -Name ならいけるけど
164 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 13:42:03.34 ID:Z/deP/O+.net] >>156 データバインドって、Angularのやってるアレ? スクリプトならnashornで書く方が速いんじゃないの
165 名前:デフォルトの名無しさん [2014/03/31(月) 13:56:19.72 ID:FswzEzL9.net] >>163 そういうのは好きなのえらべばいいんじゃないかな。
166 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 14:04:39.44 ID:Z/deP/O+.net] いきなり他の言語を使えって言われても、コンテキストを思い出せないんだよ Excel VBAがExcel JScriptに置き換わったら、いよいよだと思うね
167 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 18:14:36.06 ID:fvBhjMHZ.net] powershell の意味不明な文法はどこ由来なんだろう
168 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 19:19:51.23 ID:HPrdAsyG.net] >>161-162 Member Enumerationといって、V3からコレクションの各要素のメンバーにアクセスする機能が追加されたんだよ ttp://blogs.msdn.com/b/powershell/archive/2012/06/14/new-v3-language-features.aspx
169 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 19:45:07.51 ID:2sfUKmxl.net] いちいちselectしなくても良くなったってことか それは助かる
170 名前:デフォルトの名無しさん [2014/03/31(月) 21:39:20.66 ID:FlSL2ost.net] >>167 それなら、書き方が違うと思うぞ $arr=ls $arr.Name はできないでしょ $arr=(ls) $arr.Name なら可能だけど、 それでも 入力補完はしてくれないね。
171 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 23:13:53.29 ID:HPrdAsyG.net] >>169 いやどちらでも通るよ? 入力補完はそりゃ利かないだろうけど
172 名前:デフォルトの名無しさん [2014/04/01(火) 00:13:09.13 ID:n+62zDt+.net] >>170 ごめん、通った
173 名前:デフォルトの名無しさん mailto:sage [2014/04/01(火) 21:14:46.98 ID:XUx13Ibi.net] >>167 意外だ。3まではできなかったのか。 powershellの()とか$()ってオブジェクトがそのまま却ってくると理解してて、その書き方が当たり前と思ってたわ。
174 名前:160 mailto:sage [2014/04/02(水) 02:37:09.60 ID:iqksnACc.net] $arr=ls $arr.Name $arr.DirectoryName $arr.FullName Nameでファイル名、DirectoryNameでフォルダまでのフルパス、 FullNameで、ファイル名付きフルパスを取り出す 入力補完は、 $arr. で配列のメンバが、 $arr[0]. で配列中のファイル情報のメンバが表示される
175 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 03:15:22.54 ID:DfhRYDJb.net] ps初心者におすすめの書籍やサイトありませんか?
176 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 10:47:02.26 ID:rXi4eJBj.net] powershell in actionのセカンドエディションが何故出ないんだろう・・・ 英語読めんから、日本語版でてもらいたいんだけど
177 名前:デフォルトの名無しさん [2014/04/02(水) 15:40:49.84 ID:mZJZP6QO.net] >>174 やはりTechNetじゃないかい
178 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 17:16:43.20 ID:m0GxFAWI.net] powershellって、本は少ないよな というか、読んだことない 日本語の情報も少ない powershellはバージョンアップで結構大きく変わってるから、ネットの情報も古いのはあまり役に立たない
179 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 17:36:21.91 ID:wdgZMuKf.net] 選ばれし者のみが使うものだから安っぽい一般書籍で下々の者の目に触れさせてはならぬのだ
180 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 19
] [ここ壊れてます]
181 名前::56:12.51 ID:Y0IuL1ul.net mailto: >>177 ないことはないが wshの本だって読んだことないだろ? [] [ここ壊れてます]
182 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 20:35:42.75 ID:OMqTUtFb.net] 歯を磨くのに歯ブラシの本なんか読まないって奴だな
183 名前:デフォルトの名無しさん [2014/04/02(水) 21:07:06.51 ID:y1aMAgcN.net] そういえば、Excelの本も読んだことないな
184 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 21:53:15.82 ID:m0GxFAWI.net] bashの本は結構ある
185 名前:デフォルトの名無しさん mailto:sage [2014/04/03(木) 02:45:55.99 ID:Ft/oIZi2.net] >>174 「Windows PowerShell 実践システム管理ガイド」2009初版 この本は一通り、環境設定や文法などを説明しているが、 サーバ管理者じゃなければ、あまり読む所がない @IT 執筆者は山田 祥寛(よしひろ) ttp://www.atmarkit.co.jp/fwin2k/win2ktips/1069psffolder/psffolder.html HIRO's.NET ttp://hiros-dot.net/PowerShell/index.htm MS TechNet スクリプトセンター
186 名前:デフォルトの名無しさん mailto:sage [2014/04/03(木) 15:09:33.58 ID:Ft/oIZi2.net] ファイル名に入っているすべての空白を、 アンダーバーに置換して、 置換したときのみ、ファイル名を変更する #複数か所を置換。日本語もOK $a=$str.Replace(' ','_') #True, False #もし、置換されていれば if(! $a.Equals($str)){ren} Replaceが置換できたかどうかが分からないため、 Equalsで置換前後の文字列を比べているんですが、これでいい? Replaceが置換した文字数でも返せば、便利なのに
187 名前:デフォルトの名無しさん mailto:sage [2014/04/03(木) 22:15:18.50 ID:PIEAAVmi.net] これが最近になってerrorになるんだが。エラーメッセージは今手元に処理系がないから晒せない。すまぬ。 $ie = new-object -com InternetExplorer.Application
188 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 03:15:36.79 ID:Y0zkgPF2.net] $ie = new-object -com InternetExplorer.Application Win8で、動くよ ただし、このままでは見えないから、 $ie.Visible=$true で見える それから、$ie.Quit() で終了して、 Remove-Variable ie で変数を完全に削除する
189 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 03:25:58.26 ID:wR4zjFJC.net] >>186 あ、動かなかった環境はwin7
190 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 03:26:28.98 ID:wR4zjFJC.net] >>186 ieのバージョンは8
191 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 05:53:17.18 ID:KMj82CKh.net] >>186 ので Vista (ってかWin2008srv) と IE9だと、今ちゃんとIE起動したなあ。
192 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 20:40:03.81 ID:HFpQdt1h.net] そもそも自分でエンコーディング指定しない状態でうまくいくと思うのがおかしくね
193 名前:デフォルトの名無しさん mailto:sage [2014/05/10(土) 13:27:52.37 ID:rkawSHax.net] クラシック コマンドと PowerShell の間のエンコード設定 ttp://d.hatena.ne.jp/ladybug/touch/20111203
194 名前:デフォルトの名無しさん [2014/05/17(土) 13:01:56.04 ID:zPk4Oowy.net] >>190 おかしくないね
195 名前:デフォルトの名無しさん [2014/05/17(土) 13:04:18.77 ID:zPk4Oowy.net] >>190 そもそも自分でエンコーディング指定しない状態でうまくbatは そのまま実行できた方が便利じゃね おかしくねってなんだよこのカス お前のせいでこのスレ過疎ってんじゃねえかよ 俺は苦労なく適応してるスタイリッシュ糞野郎は死ねよ
196 名前:デフォルトの名無しさん [2014/05/17(土) 13:05:13.85 ID:zPk4Oowy.net] >>190 そもそも自分でエンコーディング指定しない状態でうまくbatも そのまま実行できた方が便利じゃね >>191 それがめんどいって言ってるんだけど だからこのスレ過疎ってんだけど
197 名前:デフォルトの名無しさん [2014/05/17(土) 13:06:51.90 ID:zPk4Oowy.net] >>191 ドヤ顔1行レススタイリッシュでああかっこいい これでもうまく出来ない たとばestcmdのことだよ やってみろごみ
198 名前:デフォルトの名無しさん [2014/05/17(土) 13:09:30.55 ID:zPk4Oowy.net] そもそも自分でエンコーディング指定しない状態でうまくCUIコマンドは そのまま実行できる方が便利とおもわないほうがおかしくね
199 名前:デフォルトの名無しさん [2014/05/17(土) 13:10:47.73 ID:6QUaAdwh.net] そもそも自分でエンコーディング指定しない状態で動いてるCUIコマンドは そのまま実行できた方が便利とおもわないほうがおかしくね
200 名前:デフォルトの名無しさん [2014/05/17(土) 13:21:35.98 ID:6QUaAdwh.net] >>191 設定してもestcmdがうまく変換できない 試してみなくても絶対できると思うこむのがおかしくね
201 名前:デフォルトの名無しさん [2014/05/17(土) 21:10:33.02 ID:blVZ2esz.net] こちらの質問を投稿されてから少し時間が経ちましたが、その後の状況はいかがでしょうか とか気持ち悪いからまれ方する掲示板には絶対に書き込みしないが ここでカスどもを叩きつぶんつ
202 名前:デフォルトの名無しさん [2014/05/17(土) 21:25:14.42 ID:blVZ2esz.net] 単純にエンコード指定しただけではうまくいかないことがあるのは明白 試しもしないで大嘘書いてんじゃねえよクズ
203 名前:デフォルトの名無しさん [2014/05/17(土) 23:03:47.67 ID:blVZ2esz.net] こちらの質問を投稿されてから少し時間が経ちましたが、その後の状況はいかがでしょうか とかいう気持ち悪いからまれ方する掲示板から出てくんな
204 名前:デフォルトの名無しさん [2014/05/21(水) 01:04:44.83 ID:sYItXBaD.net] utf8を出力するコマンドを扱うのは厄介で 普通に実行すると、utf8がsjisに文字化けした文字列が出力され、 これを > しようもんならさらにutf-16leでエンコードされて涙目になる。 > そもそも自分でエンコーディング指定しない状態でうまくいくと思うのがおかしくね なんていう話ではない>>190 >>191 これ(utf8がsjisに文字化けした出力)をファイルに落として(sjisでエンコード指定(Default)) Get-Contentで読み込む(utf-8でエンコード指定)と 文字コードはあってるのにバイトが欠けたような化け方をして元のコードには戻らない。 cmd.exeのutf-8→sjisの変換(iconvとかnkf)ではそんなバイト欠けしないので 暗黙の多重エンコードのせいでバグのような挙動になってるのだろう。 get-content でutf8なファイルを-Encoding utf8指定して読み込むとすべてうまくいくので コマンドにもutf8でエンコードで指定できればうまくいきそうではある。 でもコマンドにはエンコード指定ができないのだ。 これはcmd.exeと一緒なので普通なんだけど。 cmd.exeでutf8を扱うのはXPからの悲願だったわけで sjisに化けた文字をどうこうするよりやはり生のutf-8を出力してもらうのが最善であろう Diagnostics.ProcessStartInfoのStandardOutputEncodingを設定すれば ナマのutf-8を吐いてくれる。 つまり、Diagnostics.ProcessStartInfo の設定してとあるutf-8出力コマンドに 引数を渡すラッパをpowershellスクリプトで書けばいい 手間といえば手間だが cmd.exeでutf8を扱うのはXPからの悲願だったわけで 必要な手間だといえる
205 名前:デフォルトの名無しさん mailto:sage [2014/05/21(水) 02:18:31.24 ID:ta57bKtc.net] 標準出力のutf16leとsjisは自動判別されるがutf8は判別しない。 utf8での出力は問答無用でsjis出力される。$OutputEncoding は関係しないようだ。 .netのDiagnostics.ProcessStartInfoの StandardOutputEncodingをutf8に指定して プロセスを作成すれば、化けずにutf8で表示できる。 utf8のファイルならば自動判別される。 Get-Contentで文字コードを指定しなくてもutf8のファイルを読み込めるし > をしたら、化けずに正常にutf16leに変換される。
206 名前:デフォルトの名無しさん mailto:sage [2014/05/21(水) 02:27:53.59 ID:ta57bKtc.net] UTF8の標準出力は無視というより 単純にBOMBなしUTF8はスルーされるってだけの話なのか BOMBなしUTF8は-encoding utf8すれば読めるが強制sjis変換される BOMBがないutf8はちゃんと表示された
207 名前:デフォルトの名無しさん mailto:sage [2014/05/21(水) 02:28:38.07 ID:ta57bKtc.net] ×BOMBがないutf8はちゃんと表示された ◯BOMBありのutf8はちゃんと表示された
208 名前:デフォルトの名無しさん mailto:sage [2014/05/21(水) 18:11:51.04 ID:WiuU0w7h.net] >>202 俺が言ったのは、エンコーディング指定なしで望みの形に自動で入出力される、なんて都合のいいもんのはずないだろってことだけだが 特にUTF-8が厄介なのはcmd.exeの頃からそうなんだから
209 名前:デフォルトの名無しさん mailto:sage [2014/05/22(木) 15:38:40.24 ID:/bbRYJfN.net] テキストはバイト列じゃなくて文字列として扱われる PHPとかPtyhon2とかしか知らないと、間違う
210 名前:デフォルトの名無しさん [2014/05/30(金) 23:45:52.42 ID:F99LD7Fr.net] >テキストはバイト列じゃなくて文字列として扱われる バイナリとして比較するということを言いたいのかな?
211 名前:デフォルトの名無しさん mailto:sage [2014/05/31(土) 01:17:39.96 ID:HDDKJJTo.net] 逆だろ
212 名前:デフォルトの名無しさん [2014/05/31(土) 01:45:04.55 ID:tHdAdTRr.net] >Diagnostics.ProcessStartInfoのStandardOutputEncodingを設定すれば >ナマのutf-8を吐いてくれる。 これは勘違いで誤り。 utf-8をsjisに変換してくれる、が正しい。cmd.exeでも同じ挙動。 そもそも適切なエンコーディング指定する方法がないのだから >そもそも自分でエンコーディング指定しない状態でうまくいくと思うのがおかしくね で軽々しく済む話ではないのは明らか
213 名前:デフォルトの名無しさん mailto:sage [2014/05/31(土) 01:48:59.81 ID:YDFuTMoW.net] むかしは、シフトJISのテキストをバイト列として(バイナリとして=j処理した。 (当初からJavaは、テキストを文字列として処理してきた) いまは、Perl, Python, Rubyは、文字列としてテキストを処理できる。 スクリプトがどの文字コードでかかれてるか明記。 出力するとき、内部の文字コードから表示の文字コードに変換。
214 名前:デフォルトの名無しさん [2014/05/31(土) 02:00:38.69 ID:tHdAdTRr.net] ちょっとエンコーディング指定すればいいなんて手間じゃねえし なめてんだろ
215 名前:デフォルトの名無しさん mailto:sage [2014/05/31(土) 12:22:25.77 ID:LqLiNHuI.net] >>190 本人が、何もしなくてもUTF-8形式を適切に処理してくれるって考えは甘いってことを理解してりゃそれでいいよ
216 名前:デフォルトの名無しさん mailto:sage [2014/06/02(月) 22:17:32.05 ID:iXPDpkrB.net] >>213 BOM付きUTF8ならば適切に処理されるんだからややこしいのであって 考えが甘いとかそういうことじゃないんだよ こうやって精神論にすり替えて叩いてくる どうせわんくまのバカどもが食いついてんだろ お前らいつも参考にならないんじゃアホ
217 名前:デフォルトの名無しさん [2014/06/02(月) 22:30:48.29 ID:iXPDpkrB.net] >>206 口だけのわんくまカス(あるいはそれと類する存在)よ 俺は100%間違ってないみたいな態度とってるんだがお前は間違ってんだよ 都合がどうのこうのだという話はしてない 少なくともお前の書き込みはいらなかったし死んでほしい 利用者のアラをつつくような(もちろんこちらのあらはなかった)グズは死ねよ 以下の挙動がcmd.exeなどとは違っててバグなんじゃないかと言ってるんだが? アドバイスくれクズ >>202 >これ(utf8がsjisに文字化けした出力)をファイルに落とし(Set-Content -Encogin Default指定) て >Get-Contentで読み込む(-Encoding utf8でエンコード指定)と >文字コードはあってるのにバイトが欠けたような化け方をして元のコードには戻らない。 >cmd.exeのutf-8→sjisの変換(iconvとかnkf)ではそんなバイト欠けしないので >バグだと思われる。 hyperestraier のようなutf8出力コマンドで再現可能
218 名前:デフォルトの名無しさん mailto:sage [2014/06/02(月) 22:34:16.22 ID:iXPDpkrB.net] >>206 そもそも適切なエンコーディング指定する方法がないのだから >そもそも自分でエンコーディング指定しない状態でうまくいくと思うのがおかしくね で軽々しく済む話ではないのは明らか cmd.exeではこんなビット欠けは起きない
219 名前:デフォルトの名無しさん [2014/06/02(月) 22:37:17.51 ID:iXPDpkrB.net] >>206 コマンドの標準出力にはエンコード指定する方法なんかないので 大げさなラッパを作る必要がある cmd.exeの頃は勝手にutf16leに変換されるなんてことなかったし 変換し直すだけでトラブルはなかった 分かったかわんくまバカ
220 名前:デフォルトの名無しさん [2014/06/02(月) 22:43:53.50 ID:iXPDpkrB.net] echoや>の出力がUTF-16LEなのはハマるな もともとUTF-8で出力するプログラムとかなんかおかしくなるし
221 名前:デフォルトの名無しさん [2014/06/02(月) 22:46:54.35 ID:iXPDpkrB.net] じゃあ echoや>の出力がUTF-16LE である利点を語ってくれ 標準出力unicode化は今まで全く力を入れてこなかったことので悲願でも何でもない それ以外で
222 名前:デフォルトの名無しさん mailto:sage [2014/06/02(月) 22:53:46.33 ID:iXPDpkrB.net] >>191 正直そこらへんのブログの落書き情報よりつっこんだ話してるからね このスレ読めばUTF8関連のトラブルは解決するだろう もちろん俺だけのおかげであって わんくまやムタや魔界仮面(宇宙仮面ではない)の出番はなかった わんくまが役に立ったことなんかないがな
223 名前:デフォルトの名無しさん mailto:sage [2014/06/03(火) 00:46:33.05 ID:zVTgVwHZ.net] 利点も糞も、echo(write-output)は、生のオブジェクトを扱うことになるわけで、 つまりは、.NET仕様の根幹だから今更変えようがないでしょ。 従って、文字コード変換とかは受け取る側が全部面倒見る必要がある。 が、今どきUTF-8くらい標準(共通パラメータ?)で何とかしろよ、っていう点には同意だが。
224 名前:デフォルトの名無しさん mailto:sage [2014/06/03(火) 00:54:23.68 ID:Y/pEIVnr.net] エンコーディングを指定すればいいだろ
225 名前:デフォルトの名無しさん mailto:sage [2014/06/04(水) 20:44:17.78 ID:L8qA/6qE.net] Get-Item も Write-Output もオブジェクトの配列を引数に取りますが、 > Get-Item a.txt, b.txt # a.txt, b.txt 両方表示 > Get-Item a.txt b.txt Get-Item : 引数 'b.txt' を受け入れる位置指定パラメーターが見つかりません。 ここまでは良いのですが、 > Write-Output 1, 2, 3 1 2 3 > Write-Output 1 2 3 1 2 3 Write-Output の2つ目のコマンドがエラーにならないのはなぜでしょうか?
226 名前:デフォルトの名無しさん mailto:sage [2014/06/05(木) 00:54:18.00 ID:0UtGsb3y.net] >>223 値を受け付けるパラメータの数が1つだけだとこういう挙動になるのかと思ったけど Write-Hostでも同じようにエラーにならないな
227 名前:デフォルトの名無しさん mailto:sage [2014/06/06(金) 20:42:25.77 ID:SJO4baaV.net] >>214-216 いやお前は必要な情報を提示したつもりだったのかも知れんが、 >>190 のレスだけじゃ一般論として文字コード意識しないと駄目だろって話にしかならない
228 名前:デフォルトの名無しさん mailto:sage [2014/06/08(日) 09:45:09.57 ID:EYTmrCp1.net] ここで聞いて良いのか分からないけど分かる方居たら教えて下さい。 Get-WmiObject -ComputerName IP -Credential $cre 〜としてサーバの情報取って来ようとしてるんですが、UserAdministrator Passなし で認証のダイアログ等を出さずに実行するだけで取得する方法はありますか? パスワードの設定がされていればそのまま取ってこれるんですが、パスなしの場合は無理でしょうか。ちなみにドメインには参加していません。
229 名前:デフォルトの名無しさん mailto:sage [2014/06/08(日) 15:47:34.27 ID:sw1PudVp.net] WinRMを設定して使う。 SSHみたいにリモートでコマンド実行できる様になる。