1read 100read
2013年01月Windows130: Windows PowerShell 2.0 Part2 (978) TOP カテ一覧 スレ一覧 2ch元 削除依頼
お前ら、寝る前にシャットダウンしますか? (856)
Windows 7 アクティベーション 総合スレッド Part.22 (981)
自治スレ in Windows板 (562)
お前らのWindowsマシンのスペックを書こう 2 (211)
Windowsストア 2店目 (431)
【標準AA】フォント・カスタマイズ 6th【ClearType】 (737)

Windows PowerShell 2.0 Part2


1 :2009/12/18 〜 最終レス :2012/12/23
Windows PowerShell
http://www.microsoft.com/japan/technet/scriptcenter/hubs/msh.mspx
http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx (英語)
■パッケージのダウンロード
Windows XP, Windows Server 2003用
http://support.microsoft.com/?kbid=926140
Windows Vista用
http://support.microsoft.com/?kbid=928439
Windows PowerShell V2(CTP2)
http://www.microsoft.com/downloads/info.aspx?na=47&p=1&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=60deac2b-975b-41e6-9fa0-c2fd6aa6bc89&u=details.aspx%3ffamilyid%3d7C8051C2-9BFC-4C81-859D-0864979FA403%26displaylang%3den
■参考
http://www.atmarkit.co.jp/fdotnet/special/powershell01/powershell01_01.html
http://oka326.blogspot.com/search/label/PowerShell
http://d.hatena.ne.jp/newpops/
http://blogs.msdn.com/PowerShell
■過去スレ
Windows PowerShell 2.0
http://pc12.2ch.net/test/read.cgi/win/1221046998/
Windows PowerShell (正式版リリース)1.0
http://pc11.2ch.net/test/read.cgi/win/1163764836/

2 :
PowerShell の起動を高速化する
ttp://flamework.net/archives/10
ttp://powershell.hiros-dot.net/post/2008/07/30/PowerShelle381aee8b5b7e58b95e38292e9809fe3818fe38199e3828b.aspx
スクリプトの実行ポリシー (Execution Policy) をグループポリシーで一元管理する
ttp://d.hatena.ne.jp/newpops/20080416
コマンドプロンプト・ UNIX系OSのシェルとのコマンド対応表
ttp://marxsoftware.blogspot.com/2008/03/comparing-unixlinux-powershell-and.html
ttp://en.wikipedia.org/wiki/Windows_PowerShell#Cmdlets_2
VBScript コマンドから Windows PowerShell コマンドへの変換
http://www.microsoft.com/japan/technet/scriptcenter/topics/winpsh/convert/default.mspx
キーバインド変更
XKeymacs
ttp://www.cam.hi-ho.ne.jp/oishi/
窓使いの憂鬱
ttp://mayu.sourceforge.net/
コマンドレットオンラインヘルプ作成 ver2
ttp://blogs.wankuma.com/mutaguchi/archive/2006/12/08/49387.aspx
Windows Server 2008 のサーバーコアに PowerShell をインストール
PowerShell on Server Core
ttp://dmitrysotnikov.wordpress.com/2008/05/15/powershell-on-server-core/

3 :
■エディタとかIDEとか
PowerShell Analyzer (45日間試用可能)/ PowerShell Plus (個人使用無料)
ttp://www.powershell.com/index.html
PowerGUI
ttp://www.powergui.org/index.jspa
Admin Script Editor (45日間試用可能・ フォームデザイナ)
ttp://www.adminscripteditor.com/index.asp
■コマンドレットとかプロバイダとかその辺
・PowerShell Community Extensions
ttp://www.codeplex.com/PowerShellCX
・アクティブディレクトリー - Free PowerShell Commands for Active Directory
ttp://www.quest.com/powershell/activeroles-server.aspx
・IIS7 PowerShell Provider Tech Preview 2
ttp://blogs.msdn.com/powershell/archive/2008/07/03/iis7-powershell-provider-tech-preview-2.aspx
・グループポリシー - SDM GPMC PowerShell Cmdlets
ttp://www.sdmsoftware.com/freeware
・SSH クライアント / サーバー - NetCmdlets for Windows PowerShell
ttp://www.nsoftware.com/PowerShell/
・Officeファイル(Open XML)生成 ・操作 - Open Xml Power Tools at Staff DotNet Staff DotNet
ttp://staffdotnet.com/services/powertools.html
■その他
タブ補完機能強化ツール - PowerTab
ttp://thepowershellguy.com/blogs/posh/pages/powertab.aspx
・Visio 2007 用 Windows PowerShell スクリプト生成ツール
ttp://www.visio.jp/dl/visPowerShell/index.html
・WSH から PowerShell を利用する - ActiveX PowerShell(ActiveXPoSH)
ttp://www.primalscript.com/Free_Tools/index.asp

4 :
>>1

5 :
>>1
PowerShell 2.0 の Part2 ってするくらいならせめてリンク先ちゃんと変えろよw
ぶっちゃけバージョンごとにスレ番変える必要はないと思うけど

6 :
>>1おつ

7 :
>>5
すいません
気付きませんでした

8 :
や、だから誰か貼ろうよw
Windows 管理フレームワーク (Windows PowerShell 2. 0、WinRM 2. 0、および BITS 4. 0)
http://support.microsoft.com/kb/968929
>>1 のリンクは 1.0 と 2.0 CTP2 のもので現在最新は 2.0 RTM だから注意


9 :
だれか、以下の条件を満たす*.ps1ファイルの関連付け教えて
1. ps1スクリプトに複数のファイルをD&Dして各ファイルの絶対パスを渡す
2. 絶対パスは文字列の配列としてスクリプトに渡す
3. パス/ファイル名として使える文字全てに対応
4. Ver2.0でしか動かなくてもOK
5. 引数の事前処理としてバッチファイルの併用可
6. *.batの関連付けで引数の部分変更可
自分でやってたけど & とスペースが組み合わさったファイル名の時の対策がどうにも難儀だわ

10 :
どこまでできたの?

11 :
>>10
ps1スクリプトの関連付けを run.bat "%1" "%*" として
↓みたいなPowerShellを起動するバッチファイルを作ったけど、正直全然やりたいことできてない
set arg=%*
set arg=%arg:&=^&%
set arg="%arg:"=''%"
set arg=%arg:''''=''%
set arg=%arg:~1,-3%
rem ↓書き込みの制限で改行してるけど、実際には改行してない
powershell "$str = iex ('@''' + (echo `n) + ' %arg% ' + (echo `n) + '''@'); $str = [System.Management.Automation.PSParser]::Tokenize($str, [ref]$null) |
select -exp Content; $files = New-Object System.Collections.ArrayList; $path = ''; foreach ( $fragment in $str ) { $path += $fragment;
if ( Test-Path $path ) { [void]$files.Add($path); $path = ''; }} $files; & '%1' $files"
今はバッチファイルは使わずに powershell.exe "$a = '%1' " みたいな感じでやってみようかと思うけど、にんともかんとも

12 :
あー・・・できたかも、これでどうだろ
# PS1ファイルへのドラッグを有効化する
cp -Path HKCR:\VBSFile\ShellEx\ -Destination HKCR:\Microsoft.PowerShellScript.1\
cp -Path HKCR:\VBSFile\ShellEx\DropHandler -Destination HKCR:\Microsoft.PowerShellScript.1\ShellEx
# D&Dされたファイルを引数にスクリプトを実行可能にする
New-Item HKCR:\Microsoft.PowerShellScript.1\shell\open
New-Item HKCR:\Microsoft.PowerShellScript.1\shell\open\command
$command = @'
C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -NoExit "&'%1' ('%*' -replace '(\w+\:)',',$1' -split ',' -ne '' )"
'@
# 引数はファイルのフルパスなので、ドライブレターの前にカンマ入れて分割
New-ItemProperty -Path HKCR:\Microsoft.PowerShellScript.1\shell\open\command -Name "(default)" -Value $command

テストに使ったファイル名が適当なので、暇な人は試してみてくれると嬉しい

13 :
ごめん、>>12だとファイル名に'がある時にエラーが出るままだった
C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -NoExit "&'%1' ((iex ('@''' + (echo `n) + ([String]{<#%*#>} -replace '^<#(.*)#>','$1') + (echo `n) +'''@')) -replace '(\w+\:)',',$1' -split ',' -ne '')"
{<#%*#>} のところ {#%*} ってできれば1.0でもそのまま使えるんだけど
なぜかこっちは文として完結してないって解釈されるみたいなんだよなー
まあ別に1.0で使える必要性はないんだけども

14 :
powershell.exe -file "%1" %*
で駄目な例は?

15 :
>>14
あー、Fileを指定してると他はスクリプトの引数として扱ってくれるのか・・・全く見落としてた、ありがとう
しいて言うなら引数は$argsで処理するから [CmdletBinding()] と併用できないって程度かな?
それを気にしないならその方がスマートだねぃ

16 :
powershell.exe "〜"
one linerの〜の部分の書き方、どこかにない?
"'`のエスケープがうまくいかん

17 :
>>16
"(二重引用符)はcmd.exeの方で解釈しちゃうからエスケープは無理だと思う
ちゃんと調べてないから知らないけど
他はそのまま使えるはず
もしくは↓みたいにBase-64でエンコードした文字列を-EncodedCommandの引数として渡すとか
Base64形式のエンコードされたコマンドを実行する
ttp://handcraft.blogsite.org/ComponentGeek/ShowArticle/199.aspx

18 :
>"(二重引用符)はcmd.exeの方で解釈しちゃうからエスケープは無理だと思う
なことはない

19 :
折角なので調べてみた
猫科研究所(felid labo) - コマンドプロンプトのエスケープ仕様
ttp://www.up-cat.net/%25A5%25B3%25A5%25DE%25A5%25F3%25A5%25C9%25A5%25D7%25A5%25ED%25A5%25F3%25A5%25D7%25A5%25C8%25A4%25CE%25A5%25A8%25A5%25B9%25A5%25B1%25A1%25BC%25A5%25D7%25BB%25C5%25CD%25CD.html
PS > powershell " $a = get-date ; \"hello, world. $a \" "
hello, world. 01/01/2010 22:10:29
確かにできてるね

20 :
なんか某所で突っ込まれた気がするので適当にまとめてみた
間違ってたら誰かフォローよろしこ
以下、コマンドプロンプトから powershell.exe の -command オプションに任意の文字列を渡してコマンドとして実行するときの話
・ 二重引用符 " は \ でエスケープする
・ | & < > は 奇数番目の二重引用符 " の後ろにある時は特別なエスケープ処置は必要はない
 偶数番目の二重引用符 " の後ろにある時は ^ を使ってエスケープする
CMD > powershell " \" hoge \" "
hoge

CMD > powershell " ' hoge > fuga ' "
hoge > fuga
> は奇数番目の二重引用符の後にあるので自動的にエスケープされる、出力結果は ' hoge > fuga '

CMD > powershell " \" hoge > fuga \" "
偶数番の二重引用符 " の後に > があるので、> がエスケープされずに
(コマンドプロンプトの)リダイレクト演算子として機能し
powershell.exe の出力結果 ' hoge ' が fuga というファイルにリダイレクトされる

CMD > powershell " \" hoge ^| fuga \" "
hoge | fuga
偶数番の二重引用符 " の後に | があり、| が二重引用符 " によってエスケープされないので
^ を使って | をエスケープする、出力結果は ' hoge | fuga '

21 :
文法は面白いけどもっさり過ぎる
dirするだけでどんだけCPUパワー食ってんのかと
CPUが後2、3世代進んでから乗り換えるわ

22 :
知れば知るほど、良い出来だなぁ
もう少し改良して欲しい点として、UnixスタイルのCTRL+U、CTRL+A、CTRL+Eの対応と。
コンソールの作りをTeraTermみたいにキーワードをマウスで選択右クリックでペーストとかなって欲しい。
左上のコンテキストメニューつかうの面倒くさいから。
New-ObjectあたりはnewにAlias割り当てて良いんでないかぁ

23 :
PowerShellってインストールせずに使うことはできないのかなぁ。
powershell.exeだけコピーして動かそうとしたけどだめだった。

24 :
>>21
Powershell用のプロパティが重いんだよね。(gi -l .).getfiles()とかを使えば軽い。

25 :
powershellでiseみたいにread-hostでGUIにできない?

26 :
なんか似たような質問がちょっと前にもあったような
# [Reflection.Assembly]::LoadWithPartialName("Microsoft.VisualBasic")
[Microsoft.VisualBasic.Interaction]::InputBox("以下に入力","タイトル","デフォルトの文字列")
それともpowershell.exe自体をRead-Hostコマンドを実行することで
ISEのようなGUIアプリの概観にするという意味じゃろか

27 :
get-credentialみたいに、GUIにするか、consoleにするか、のスイッチがあるかと

28 :
質問です。二重ループの内側で外側のオブジェクトどうやったら参照できますか?
dir -Recuse c:\temp | %{
cat $_ | % {
// $_の外側のForEach-Objectオブジェクト参照どうすればいいの?
}
}

29 :
別の変数に代入しておけばいいだけじゃん?

30 :
シェルスクリプトの美しさっていうのか、
さりげないけど、高機能を多用してるのが気持ち良いノリってあるんだよなw

31 :
バッチファイルにシェルスクリプト・・・一番簡易で一番高度だもんげ

32 :
ところで次期VS2010では、PowerShellはメインストリームになるの?
やっぱシェルは開発で、ガシガシ使われてナンボではあると思うけど。

33 :
Xml.Linqって便利だね、[xml]$xml = ... とかやるよりずっと楽
ttp://www.atmarkit.co.jp/fdotnet/special/linqtoxml/linqtoxml_02.html
Add-Type -AssemblyName System.Xml.Linq
$ex = [System.Xml.Linq.XNamespace]"http://www.piedey.co.jp/example/linqtoxml200811"
$doc = New-Object Xml.Linq.XElement $( $ex+"person";
(("name", "Wong Fei Fong"), ("age", "18"), ("address", "Village of Lahan") |
% { New-Object Xml.Linq.XElement $($ex+$_[0]; $_[1]) })
)
$doc.ToString()

Convert-Xmlの出力もこんな感じの方が嬉しいんだけどなー

34 :
PSだけで殆どの業務アプリが作れるような感じがしてきた。
動的言語に近いから、PL/SQLとかT-SQLの置き換えに良いと思ったりする。

35 :
これつい先日使い始めたばかりなんだけど、ISEの出力をウィンドウに
合わせて改行とかどうやるの?
一行200桁以上とか見にくくて困るんだけど。

36 :
これってnetrisできるの?

37 :
>>35
アウトプットペインの話ならコマンド実行した時のウインドウサイズに合わせて出力されるよ?
サイズ変更した時に追従はしないけど

38 :
>>37
その後何回かウィンドウサイズ変えてやってみたんだけど
赤文字のエラー文てウィンドウサイズの2倍位の位置で改行されてない?
半角80文字位のウィンドウサイズ幅で
存在しないコマンド入れてEnter押した結果
用語 'a' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが
含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 行:1 文字:2
+ a <<<<
+ CategoryInfo : ObjectNotFound: (a:String) []、CommandNotFoundExcep
tion
+ FullyQualifiedErrorId : CommandNotFoundException
改行位置は原文まま。半角157文字で改行入ってるし。
わけわからん。

39 :
>>38
ああ、エラー文だとそうなるみたいだね

40 :
たしかに、PowerShellのエラー表示はちょっとUnixとか汎用機のものとも違って、
ちょっとヘンテコだよね。

41 :
1.0の時に合ったクイックリファレンスのドキュメントはどこかに行っちゃったんだな、ふむ。

42 :
>>41
インストールフォルダの中にテキストがいっぱいありますよ?

43 :
>>42
いや俺がしたいのは1.0のquadfold.rtfに相当するドキュメントはなくなっちゃったんだねってことよ?
今でも↓から入手はできるけどね
ttp://www.microsoft.com/downloads/details.aspx?FamilyId=B4720B00-9A66-430F-BD56-EC48BFCA154F&displaylang=en
別に取り除く必要はなかったように思うわけさ

44 :
>>40
君の日本語もヘンテコだが…

45 :
なにかのオブジェクトで、GetClosurerだったかNewClosurerみたんだけど、
高階関数つかるのこれ?

46 :
>>45
GetNewClosure()というメソッドでスクリプトブロックのクロージャを生成することは出来るよ
ttp://blogs.msdn.com/powershell/archive/2009/03/27/get-closure-with-getnewclosure.aspx
別にノーマルなスクリプトブロック使っても高階関数自体は作れると思うけど

47 :
format-tableについて教えください
コマンド結果の全プロパティを見たいとき以下のように打ったとします
PS C:\> ls | ft *
結果、省略表示されますが省略しすぎてとても何が返ってきてるのか分かりません
そこでautoオプションつけますがこれはこれで
収まらない分は削除されてしまいます。リダイレクトしてファイルに吐いても同じです。
PS C:\> ls | ft * -auto
「警告: 18 個の列が表示に収まらないため、削除されました。」
全行を省略しない形で表示できないでしょうか?

48 :
PowerShellの画面バッファ/ウインドウのサイズを十分に大きく/フォントを小さく設定/解像度の大きいモニタを使う
ls | select * | ogv として別ウィンドウに表示
ls | Export-Csv としてCSVファイルに保存してからエクセル等で表示する
の、どれか。

49 :
PowerShellは殆どの演算子をハイフンで始まる文字列に押し込めたから
^ とか ~ とかが何にも解釈されない文字として残ってるけど
これを利用して 3^3 で塁乗、 9~2 で累乗根、とかできるようにして
他の追随を許さない電卓言語として君臨、とかならんかな、いやならんでいいけど

50 :
その辺はエイリアスで勝手にどうぞなんじゃない?
それよかスタティックなメンバーをカッコ書きで格納面倒だけど。
$date=[System.DateTime]::Nowとか
スクリプトだからしょうが無いかもしれないけど、名前空間とリファレンスを参照するキーワードが欲しいけな。。

51 :
ogvが閉じるのを待ち合わせるにはどうすりゃいいの?

52 :
フォルダ内の検索オプションですが、例えば今日の20時以降に
更新・作成されたファイルをリストアップしたいのですが
標準では年月日までしか日時指定できません。
時間まで指定する方法はありますでしょうか?

53 :
そんなことはない

54 :
date:>2010/02/09 20:00

55 :
>>52
get-date 20:20
とかを試してみるべし。

56 :
>54,55
ありがとうございます。早速やってみます。

57 :
>>38
このエラーメッセージをそのまんま変数に取り出せない?
なぜか改行までしか取れないだけど

58 :
>>48
ls | convertto-html | out-ie

59 :
>>58
や、俺にレスされても困るがな

60 :
>>50
PSObjectにAdd-Memberで特定の型の静的メンバをくっ付けて行くことで対処できないことはない
例えば[DateTime]を対象とすると
$typename = "datetime"
$arglimit = 20
$argtext = (1..$arglimit | % { $n = $_.ToString('00'); "`$myarg$n=(`$_iranaiko+=,'myarg$n')"} ) -join ', '
iex "`$$typename = New-Object psobject"
iex "[$typename] | gm -s -MemberType Method" |
% {
$exp = @"
{param($argtext);
Remove-Variable `$_iranaiko ;
`$argtext = (gv myarg* -Scope Local | % { '$' + `$_.Name }) -join ', '
iex "[$typename]::$($_.Name)(`$argtext)"
}
"@
$sb = iex $exp
iex "`$$typename | Add-Member ScriptMethod $($_.Name) -Value `$sb -force"
}

$datetime.DaysInMonth(2, 5)
とかそんな感じで

61 :
 

62 :
変数に格納した文字列をあいまい検索する場合
後からアスタリスクを追加するにはどうすれば良いでしょうか?
●作成したいスクリプト
「c:\移動元」 ディレクトリ内にOS名が付いたファイルがたくさんあります。(yyyy_Windows_xxxx.xlsとかで命名規則はバラバラです)
これを「c:\移動先」 ディレクトリの同会社名ディレクトリに選別して移動するスクリプトを作成しようとしています。
ディレクトリは↓のイメージです
C:.
├─移動元
└─移動先
├─Windows
├─Linux
・・・
●作成中のスクリプト
==============================================
$SORUCEPATH = "c:\移動元"
$DESTPATH = "c:\移動先"
$SERCHFILE = ls $DESTPATH | select-object name
foreach ($SERCHSTR in $SERCHFILE) {
$j = join-path $DESTPATH $SERCHSTR
$SERCHSTR = *$SERCHSTR* #←ココ●
ls $SORUCEPATH -include $SERCHSTR -recurse | foreach ($_) {move $_.fullname $j -whatif}
}
==============================================
結局↓のコマンドのようにしたいのですがどう記述すればよいのでしょうか?
ls c:\移動元 -include "*Windows*" -recurse | foreach ($_) {move $_.fullname $j -whatif}

63 :
>>62
すいません。ズレてしまいましたが
「c:\移動先」ディレクトリの配下に「Windows」「Linux」ディレクトリが存在します

64 :
>>62
多分こんな感じでいいんじゃなかろうか
$DESTPATH = "R:\Dest"
$SORUCEPATH = "R:\src"
ls $DESTPATH -Name | % { cd $DESTPATH\$_; ls $SORUCEPATH\* -In *$_* | move -dest .\ }

65 :
ああいやまあ-Destの方で指定すればcdする必要ないんだけども

66 :
ふむ、タブファイラで渦中のフォルダを3分割表示して
1..10 | % { ls $DESTPATH -Name | % { ls $SORUCEPATH\* -In *$_* | move -dest $DESTPATH\$_ } ; sleep 2
move $DESTPATH\*\* -In *.txt -Dest $SORUCEPATH; sleep 2 ; }
とかやるとなかなか楽しいな、なんかのデモに使えそう

67 :
よく見たら2回もlsする必要なかった
ls $DESTPATH | % { move $SORUCEPATH\*$_* $_.FullName }
なんかもっと短く出来そうな、出来なさそうな

68 :
>>64-67
ありがとうございました。以下でうまく行きました
$SORUCEPATH = "c:\移動元"
$DESTPATH = "c:\移動先"
ls $DESTPATH -Name | % { ls $SORUCEPATH\* -In *$_* | move -dest $DESTPATH\$_ -whatif}

69 :
スクリプト本体と関係ないが
soruceはわざとなのかい?

70 :
1.0の話ってスレ違い?
誰か教えてください。
今日1.0を入れたら、PowerShell起動時に80ポートを開いて116.91.142.191と225に接続しようとしたんだけど、
これって正常な挙動?
2.0に入れ替えたらこの挙動はなくなりました。もしかしてウイルスにやられてるのかな?

71 :
>>70
あんたのISPはvectantだろ

72 :
>>71
違うISPです。

73 :
cmd.exeあたりはどこかでバッサリ捨てて欲しいな

74 :
64bit Windowsでcommand.comは消えた
cmd.exeも同じくらいの時間をかけて消えるのかもしれないね
Windows PowerShellはcmd.exeやWSHで使うVBScript、JScriptをどこまで
置き換えるんだろう

75 :
>>73-74
WindowsMEを目指すのかwww
Windows上からDOS窓は使えたけど
telnet接続もcmdベースじゃなかったか?

76 :
>>75
PowershellからでもSystem.Net.Sockets.TcpClientあたりを使えばいいが。

77 :
vista x64 sp2 無印rtmから再インストールしてSP2までアップグレードした後に
PowerShell1.0をWindowsUpdateで入れてみたけどやっぱり116.91.142.191にアクセスが発生する。
クリーン環境でも発生したから結局問題なかったんだ、と思うことにします。
一晩かかって疲れた。

78 :
>>76
クライアント側じゃなく鯖側

79 :
>>75
CLIベースの実行ファイルをcmdベースって言ったら、それこそPowerShell自体がって話になるんでは。

80 :
>>78
意味不明だ。telnet鯖は鯖だよ。

81 :
1,2,3,4,5|Export-csv -path "abc.csv"
ってやったら、
abc.csvの内容が
#TYPE System.Int32
と出ました。
どうして"1,2,3,4,5"にならないのでしょうか?

82 :
>>81
System.Int32型のプロパティをCSV形式にしてるから(プロパティないから改行だけになる)。
ていうか、そのやり方ではできたとしてもせいぜい
"1"
"2"
"3"
...
みたいな出力しか期待できんだろ
-join 使えばいいじゃん

83 :
 

84 :
一発ネタ
コマンドプロンプトの環境変数表記を使えるようにする
ls env: | % { iex "function $(`"%`" + $_.Name + `"%`") { `$env:$($_.Name) }" }
うん、それだけなんだ、すまない

85 :
PowerShellのTransaction系の実装には期待している。
一貫性を保障出来るならかなり良い思うんだけど。


86 :
ieコンポーネントを使ってgoogleを開き、キーワードを入力して検索する。
検索結果を10ページ分、名前を付けてhtml形式で保存する。
この操作をPowerShellで可能なのでしょうか?
可能であればサンプルコードを見せてもらえるとうれしいです。

87 :
一人月で開発してやるよ

88 :
生産性悪そうだから単金百円で

89 :
仮に・・・
裏がPowerShellやDosコマンドで、UIは他言語でアプリを作るとしたら何が良いのでしょうか?VB?

90 :
UIもPowerShellで作ればええじゃないか

91 :
見た目はビジュアル重視で行きたいです。

92 :
だったらVisualBasicだね

93 :
Add-History は CSV 形式にすれば好きなコマンドをヒストリに追加できる
Invoke-History はコマンドを実行する前に実行するコマンドを画面に出力する
というわけでバッチファイルのように自分自身を読み上げながら実行するスクリプト思いついた
------------------------------------------------------------------------------------
(type $MyInvocation.MyCommand.Path) | select -Skip 7 | % -Begin { @'
#TYPE Microsoft.PowerShell.Commands.HistoryInfo
"Id","CommandLine","ExecutionStatus","StartExecutionTime","EndExecutionTime"
'@
} { '"0","{0}","Completed","0001/01/01 0:00:00","0001/01/01 0:00:00"' -f $_ } | ConvertFrom-Csv | Add-History
((h)[-1].Id-((type $MyInvocation.MyCommand.Path).count-8))..(h)[-1].Id | % -Begin {$i=1} { "#"*30 + ("`tBegin`tCommand:{0,3}" -f $i++) + "#"*30 ; Invoke-History -Id $_; "#"*30 + ("`tEnd`tCommand:{0,3}" -f $_) + "#"*30 }
return # ここまで7行
# 実行したいスクリプト
ls
ps
------------------------------------------------------------------------------------
まあプロンプトは出てこないから自分で装飾する必要があるんだけどもー

94 :
>>92
じゃVBで行って見ます。

95 :
PowerShellさっさとWin2008 Serverに載せてればよかったんだけど・・・
V3いつリリースされるかわからないけど、
日本じゃ、これってサーバ製品に普通に標準で乗らないと一向に普及しないよな。

96 :
2008は標準搭載(ただし要有効化)、2008R2から標準インストールされてるがな

97 :
うがー、コンソールアプリはフック効かないって分かったらここ2日くらい悩んでたのが全部無駄になった気分だ・・・
cmd.exeのマウスでコピーとかはWinAPI使わない独自実装なんかな

98 :
バッチファイルをバックグラウンドで走らせたいのですが
$cmd={& "C:\hoge\hoge.bat"} ; Start-Job -ScriptBlock $cmd
はOKでしたが、
$bat = "C:\hoge\hoge.bat"
$cmd={& $bat} ; Start-Job -ScriptBlock $cmd
はNGでした。
うまい書き方はないですか?

99 :
Start-Process -FilePath $bat -NoNewWindow
とするか
iex "`$cmd={& $bat}"
とするか
$cmd={param($bat); & $bat}
Start-Job -ScriptBlock $cmd -ArgumentList $bat
とするかくらいだと思うよ

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
窓遣いはMacOSXをどう見るか part88 (654)
IE4総合Part001 (725)
サイレントテロリストは古いパソコンを長く使う。 (624)
Windows98を使い続けるよ Part17 (713)
Windows 7 質問スレッド Part39 (814)
【標準AA】フォント・カスタマイズ 6th【ClearType】 (737)
--log9.info------------------
こんな水戸黄門・大岡越前は嫌だ! (611)
【竹脇無我主演】鞍馬天狗・清水次郎長 (978)
IDに時代劇語録が出たら嬉しいスレ・七ノ章 (218)
【峠九十郎】荒野の素浪人part2【三船敏郎】 (243)
必殺仕事人V (919)
福岡のAMラジオを語る PART 44 (954)
【MBS】こんちわコンちゃんお昼ですょ 106d目 (318)
【FMヨコハマ】Fm yokohama 84.7 Part22【FM横浜】 (327)
【ABC】武田和歌子のぴたっと4 (765)
競馬中継徹底比較9 (688)
【1008kHz】ABCラジオ総合スレッド17【JONR】 (765)
木曜JUNK おぎやはぎのメガネびいき Part40 (803)
【久米宏】 ラジオなんですけど Part.09 【TBS954】 (208)
【編成】新番組・番組終了改編情報 Part10【営業】 (512)
(・ω・)新潟限定BSNラジオ20(・ω・) (356)
【NACK5】池辺愛のmonaka【新番組です】 (577)
--log55.com------------------
安倍「将来政治問題になるので、隠し通路で官邸に来て下さい」 加計理事長「了解」 安倍恐るべし。。
【悲報】栗城史多さん、登山のプロに「99.999%無理死ぬ」と警告されていたが無視して無事死亡
まんだらけが40年行方不明だったマンガの原稿をオークションにかけ、講談社が抗議
殺人タックル日大アメフトDL宮川泰介選手、顔出しした理由は「顔を出さない謝罪はない」
菅直人「最高権力者が公然とウソをつくのは怖い」
【ν速全体会議】 みんなで日大の宮川泰介クンにメッセージを書こうぜ 今目の前にいたら何て伝える?
ファミレス「ココス」全店禁煙化 いい加減やりすぎだろ
男性喫煙率 83.7%→28.2% メビウス(マイセン)440円→500円以上へ