【最強CUI】PowerShell -Part 1

このエントリーをはてなブックマークに追加
333デフォルトの名無しさん:2014/11/08(土) 16:13:47.29 ID:LrfZTEX2
>>332
いや一応目的は達成してたので保留にしてただけで
パイプの使い方を知ったら解決したってだけです

ちなみに今日もハマってしまったことがあるんですけど
foreachがforeach-objectのエイリアスだと思ってたら別物で
foreach-objectはbreakが使えなかった
334デフォルトの名無しさん:2014/11/10(月) 18:28:50.51 ID:y2XAPBpw
foreachの件は、以前から、ちがうよ〜って
結構いわれてますね。
335デフォルトの名無しさん:2014/11/10(月) 21:45:21.91 ID:NuItsKjt
高嶋の演技いいね
336デフォルトの名無しさん:2014/11/11(火) 04:02:01.76 ID:g7KV1ReX
>>331-334
パイプで受け取ったオブジェクトを表すには、
'$_'という自動変数を使う

Get-Variable で自動変数の一覧を表示できる

ls -Directory | ForEach-Object {$_.Name}
337デフォルトの名無しさん:2014/11/11(火) 21:03:21.52 ID:G70pNtNA
powershell2.0でモードレスダイアログ作ってるんですが
表示したばかりの状態でESCでキャンセル動作、
Enterでデフォルトボタン押下動作にするにはどうしたらいいんでしょうか
MSとかのサンプルにはそういうのが見つかりませんでした
VBとかだとこんなの当たり前だったのに情報源が乏しくて厳しいです
338326:2014/11/12(水) 08:49:13.77 ID:sOXRgmSx
>>326 を見て
.NETのFormクラスのプロパティ
AcceptButton → Enter
CancelButton → Esc

このFormクラスの一番下の方に、C#,C++,VBのサンプルがある


このコマンドで、System.Windows.Forms.dll
がロードされているか確認して
[System.AppDomain]::CurrentDomain.GetAssemblies() |
Where-Object {$_ -match "form"} | ft -Wrap

文字列が長いので、ft -Wrapで折り返して、表示する
Format-Table (ft),ft -Autosize
Format-List (fl)など色々ある

もし、ロードされていないのなら、このコマンドでロードして
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
339デフォルトの名無しさん:2014/11/12(水) 21:49:16.87 ID:ngdm2RX5
>>338
できました!
ありがとうございました
しかしこれって適当な.NET系言語と並行で覚えた方がよさそうですね…
340デフォルトの名無しさん:2014/11/26(水) 00:43:41.05 ID:g3+x1KG0
VB.netがあるじゃない
まさかあの噂でしか聞いたことがないVB6のことか〜
341デフォルトの名無しさん:2014/12/04(木) 08:25:18.27 ID:ce/wf1ga
xcopyは古そうなので、robocopyを使おうと思ったが、

Win8で、robocopyで、フォルダを丸ごと再帰的に、
すべての更新されたファイルと、
新しく作られたファイルのみをコピーしたい
(ショートカットはコピーしない)

robocopyのオプションが複雑すぎて、わからないw
どう書けばよい?
342デフォルトの名無しさん:2014/12/04(木) 09:08:49.28 ID:oJkFYkSJ
>>341
ここはPowerShellのスレなんで他で聞いてね
343デフォルトの名無しさん:2014/12/04(木) 18:42:37.00 ID:IpfKGnoS
>>341
日本語で書いてあるから読めば分かる。
読んで分からなければ動かせば分かる。
/MIR オプション無けりゃ失敗しても被害は少ないw
344デフォルトの名無しさん:2014/12/05(金) 20:46:13.92 ID:JjIVLuOx
WindowsのタスクスケジューラーでPowerShellのスクリプトを実行する際には「パス」に注意
ttp://www.atmarkit.co.jp/ait/articles/1412/03/news125.html

PowerShellに限った話じゃないけども
345デフォルトの名無しさん:2014/12/05(金) 20:59:00.79 ID:IWdjIwm1
.\のようなUnixの変な流儀まで真似しなくていいのにと思う
バッチファイルの方が気楽だなあ俺は
346デフォルトの名無しさん:2014/12/06(土) 09:30:22.09 ID:1UBNwgr7
>>345
どこで使う¥のこと?
347デフォルトの名無しさん:2014/12/06(土) 10:12:14.22 ID:7dObdE3W
>>346
.\ と言えばカレントディレクトリに決まってるだろ
348デフォルトの名無しさん:2014/12/06(土) 10:48:32.24 ID:hSVQ21qQ
.\つける方が合理的だと思うけど
349デフォルトの名無しさん:2014/12/06(土) 12:01:58.60 ID:YWCmwsqj
UNIXのCronも通常、環境変数はリセットされるからね
350デフォルトの名無しさん:2014/12/06(土) 13:10:05.65 ID:VkOLgdHH
バッチファイルと違ってセキュリティ的にクリティカルな場所での運用も期待されてるってことなんだよね。
351デフォルトの名無しさん:2014/12/07(日) 15:17:34.34 ID:qsG48RtN
単にカレントディレクトリをパスに加えるかって話だな
補完はできるからあまり苦にならんと思うよ

バッチと違って・・・とか見当違いのこと言い出すアホはもっと勉強しろ
352デフォルトの名無しさん:2014/12/07(日) 15:18:55.54 ID:qsG48RtN
バッチのほうが慣れてるからバッチのほうがいいと言い出すのは当然のこと
353デフォルトの名無しさん:2014/12/07(日) 17:17:24.28 ID:fifuCS4i
>>342
パワーシェルでもコマンドプロンプト使えるんですが
354デフォルトの名無しさん:2014/12/07(日) 17:55:35.08 ID:WRVsacF6
>>353
「コマンドプロンプト」をどういう意味で使っているのかわからないけど、Robocopyのオプションが分かりにくいのであれば、RichCopyっていうGUI版があるから、そちらを使ってみたらどうだろうか?
http://technet.microsoft.com/ja-jp/magazine/2009.04.utilityspotlight.aspx
http://www.forest.impress.co.jp/article/2009/05/15/richcopy.html
355デフォルトの名無しさん:2014/12/20(土) 17:30:13.67 ID:z0Uvrlhl
単純なディレクトリサイズ計算したら、ディスク上のサイズと違うんですが
クラスタサイズ?で自前で計算しないといけませんか?
簡単な方法があるんでしょうか?
356デフォルトの名無しさん:2014/12/31(水) 00:03:30.58 ID:jhIXu+J3
Windows 秘話: ディスク上のサイズの正体
http://technet.microsoft.com/ja-jp/magazine/hh148159.aspx
Computing the size of a directory is more than just adding file sizes
http://blogs.msdn.com/b/oldnewthing/archive/2004/12/28/336219.aspx
357デフォルトの名無しさん:2015/01/06(火) 01:58:48.79 ID:vDyOmCN+
よくわかりました。ありがとう。
35853:2015/02/17(火) 11:03:57.23 ID:Q2g81oZ1
Python は Ruby より遅いと言う話が出たので試してみました。
環境はWindows 8.1 32ビットなので他言語より5%ほど有利

1秒あたり
カウント数
230794   i+=1 Time.now.sec
223535   inc(i)   〃

なるほど Python の today().second より速い結果が出ました。
そしてすぐ書けた。

でも、CPU時間を使った方はだいぶ遅い。
どうも安定しないし逆転したりするからミスがあるかも。
ラスト  前回
686031 710067   i+=1 Process.times.utime.to_i
635549 644149   inc(i)   〃
359デフォルトの名無しさん:2015/02/20(金) 03:39:11.31 ID:Gmp7b6pB
なんでも出来そうだけど
例えばWebスクレイピングみたいなのやろうとすると
向いてないのでやる気にブレーキが掛かるんだよな
wshの方が楽だし
気づけば何ヶ月もいじっていないw

しかしせめてバッチファイルスレよりは活発にしたい
360デフォルトの名無しさん:2015/02/20(金) 10:26:41.98 ID:EGbfWoDB
凝ったことするんだとするとよっぽど慣れてるんでもない限り
VSとかで普通にC#でコード書いたほうがつぶしが聞く感はある。
そうやって作ったexeなりdllなりをpowershell側から上手に使うとかならまだわかるけど。
361デフォルトの名無しさん:2015/02/21(土) 00:50:33.03 ID:EGmkPPJP
凝ったことするツールではないと思うが、
頑張ればたいていの処理ができるってところがEmbedded系では重宝したりする。
362デフォルトの名無しさん:2015/02/21(土) 14:33:47.98 ID:yO956ias
最近のWindowsなら標準搭載ってのがまず強みだね
レジストリアクセスも楽だし便利
363デフォルトの名無しさん:2015/03/02(月) 23:00:02.02 ID:nj+DvOKd
C#で良いじゃん
権限ないとスクリプト実行すら出来ないとか不便すぎる
364デフォルトの名無しさん:2015/03/02(月) 23:27:58.04 ID:stOy1nsj
>>363
おまえはUNIXの世界を知らないのか?
365デフォルトの名無しさん:2015/03/03(火) 08:51:17.02 ID:/q0JXvMY
ん?
PowerShell使えるUNIXがあるってこと?
C#はmonoとか使えばいいけど
366デフォルトの名無しさん:2015/03/03(火) 14:27:45.42 ID:qTbNadM6
一応、そういう世界にいるんでね。 君より情報持ってるよ
367デフォルトの名無しさん:2015/03/03(火) 20:28:21.79 ID:wlOOZ45M
やったーかっこいい
368デフォルトの名無しさん:2015/03/03(火) 22:21:52.45 ID:pmKZfKU0
UNIXは知らんけど
UWSCから PowerShell のスクリプトを実行できたりするんで
「なんだ権限いじる必要ないじゃん」って書き込みを見たことはある。
369デフォルトの名無しさん:2015/03/03(火) 23:48:47.04 ID:CdhwEyDo
権限とスクリプト実行許可を混同しているな
370デフォルトの名無しさん:2015/03/04(水) 00:14:59.26 ID:AEKirzE/
確かに混同してしまったが >>363 が権限と言ってるから
371デフォルトの名無しさん:2015/03/04(水) 11:01:15.21 ID:9w9ZimTQ
レジストリいじるのにC#つかっても、どうせ権限必要だよね。
>>363
一概にスクリプト実行ができないわけじゃない。
ちなみに、C#つかえるなら、コマンドレット作成が容易にできるので
コマンドレット化すれば、実行ポリシーがRestrictedでも実行できたり
する。そういうつくり。
372デフォルトの名無しさん:2015/03/04(水) 14:47:41.63 ID:mLZy0Gsd
開発環境や外部ツールが使用可能な環境ならシステムデフォルトしか使えない環境より自由がきくわけで
そういうところはC#でもなんでも好きにやればいい
自由にできる環境だけがすべてじゃないからね
373デフォルトの名無しさん:2015/03/05(木) 01:50:54.56 ID:5Zc9dVue
組織変更に伴い、ファイルサーバとADの置換を行いたいとおもいます。
NTFSのアクセス権をSIDで検索してSIDできれば権限を置換したいのですが可能でしょうか?置換する元データはExcelで旧SIDと新SIDと権限を用意して、上から検索してEOFまで実行していきたいです。
374デフォルトの名無しさん:2015/03/05(木) 14:58:30.20 ID:iqH6ujDc
375デフォルトの名無しさん:2015/03/05(木) 14:59:14.73 ID:iqH6ujDc
376デフォルトの名無しさん:2015/03/07(土) 14:11:29.42 ID:z4BkCBiO
マルチってぜんぜん違う板だからいいと思うよ
書き込みないからっていらいらしない
377デフォルトの名無しさん:2015/03/07(土) 16:13:06.31 ID:1otiF0k1
>>376
板が違うほうが悪質ともいえる
普段からそうやって回答者の迷惑を考えずマルチで質問してる人間しかそういうことは言わないが
問題ないと思うならお前が回答してやればいい

知恵袋と2ch.netとのマルチでも質問関連のことをググった時にすぐ出てくるし嫌われる
なぜ嫌われるかわからないならググってください
それでもマルチしたいなら誰も見てないscでやってください
378デフォルトの名無しさん:2015/03/08(日) 13:17:50.33 ID:1i/muHjC
マルチがなぜ嫌われるのか理解できない奴はアスペか自閉症でしょ。
単発質問していくつか回答もらったときに結果を報告しない奴も、マルチとほぼ同罪。
嫌われる理由がわからない奴は、
知らないところで他人から陰口叩きまくられて蛇蝎のように嫌われていると覚悟したほうがいい。
379デフォルトの名無しさん:2015/03/08(日) 22:05:55.58 ID:A5EmItIf
> Google 日本語入力 インジケータ ウィンドウ

なんじゃこりゃーー
380デフォルトの名無しさん:2015/03/10(火) 23:10:57.67 ID:pMnv5Ibe
>>364
知らない
381デフォルトの名無しさん:2015/03/11(水) 16:46:59.87 ID:6tE0XEqn
印字 啓太 
宇 引導
382片山博文MZ ◆T6xkBnTXz7B0
Google Japanese input indicator window