1read 100read
2012年4月Windows17: Windows PowerShell 2.0 Part2 (870)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
メモ帳は難しすぎ (188)
一体XP厨は何と戦っているのか (548)
Windows2000最強伝説SP2 (637)
【Consumers Preview】Windows 8爆死wwwww (210)
WindowsVistaを800MHz以下で動かしてるスレ (124)
Lunascape Part28 (459)
Windows PowerShell 2.0 Part2
- 1 :09/12/18 〜 最終レス :12/05/04
- 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元 削除依頼 ▲
windows7の32bit版と64bit版のメリット・デメリット (497)
【動画鑑賞】XBMC for Windows Part1【10FeetUI】 (464)
【デフラグ】 断片化を防ぐ 【パーティション】 (207)
【Androidon Windows】BlueStacks for Windows (104)
こんなにマイクロソフトを儲けさせていいのか (705)
Windows7 32bit→Windows8 64bit 勝ち組 (309)
--log9.info------------------
★☆★☆★☆★ ガリウス最強 ★☆★☆★☆★ (115)
今更だけどガンブラスターっていいゾイドだよな? (201)
ゾイド福袋 (585)
□■ZBCGについての雑談スレ 2ターン目■□ (526)
ゾイドに足りないもの (305)
アンチ「ZOIDS FUZORS」総合スレ 2 (582)
積まれたゾイド達 (171)
ゾイド板流替え歌スレッド 1小節目 (301)
【電動も】好きなギミックを語れ!!【ゼンマイも】 (121)
ふざけんなライオン型 2匹目 (732)
合体獣王≪最強二大ライガーを語れ!III≫二人羽織 (571)
ガンダムが繁栄しゾイドが廃れた理由 (323)
G-SHOCK総合スレッド Part94 (648)
セイコー キネティック AGSを語る Part5 (236)
【時計】初心者総合質問スレC【疑問】 (467)
20代女にもてる時計A (906)
--log55.com------------------
一人で行くJuice=Juice 金澤朋子 LIVE2020 〜Rose Quartz〜 バックダンサー稲場愛香 Part2
1970年代の上野駅の思い出
どう考えてもハロプロで一番可愛いのは譜久村聖だろ
【速報】GDP 年率−6.3% 5期ぶりのマイナス 日本本格的に沈没へ
最上もが、おっさんドルヲタにブチギレ「アイドルに説教してくるのはみんなおっさん。ファンに必要ないから消えろ」 ★2
和田あやちょ「アンジュルム時代、怒りは私の原動力でした、毎日が怒り。いる場所が違ったなって思うんですよ。常に閉塞感を感じてた」
陽キャそうなハロメン、陰キャそうなハロメンと言えば?
☆Berryz工房のブログとInstagram等を温かく見守るスレ☆Season2266
-