1read 100read
2012年07月Windows236: Windows PowerShell 2.0 Part2 (968)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
【VirtualBox】XPモード 専用スレ 2台目【VMware】 (263)
Windows 7 質問スレッド Part38 (641)
RealもQTもDVDもCodec化 Ver.6 (830)
Windows2000を使いつづけるスレ その22 (822)
Windowsストア 1店目 (493)
窓使いはLinuxをどう見るか (718)
Windows PowerShell 2.0 Part2
- 1 :2009/12/18 〜 最終レス :2012/11/01
- 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元 削除依頼 ▲
WindowsXP SP4まだ?(^。^)y-.。。oその2 (448)
REGEDIT.EXEなの?Vol.4 (293)
「ウィンドウズXP Home」のサポート期限、大幅に延長 (549)
【IE9】Windows Internet Explorer 9 Part17 (517)
【XP厨涙】Windows 7 でしかできない事を書くスレ■ (795)
●好き好き大スキン!WindowxXPスキンスレッド46● (720)
--log9.info------------------
RSSリーダーを語るスレ3 (383)
Microsoft Office for Mac v.17 (802)
iWork '11 (271)
[◎□|Д゚)っ] < iPod 総合 Part90 (968)
【App Storeへ】Pixelmator Part3【お引っ越し】 (290)
PeerCast for Mac Part2 (716)
【音も形も】iPod純正イヤホン中毒者2【悪いけど】 (218)
(゚ε゚)キニシナイ!! その7(オニギリ) in 新Mac板 (457)
OmniGraffleのスレッド (857)
PowerPCとは何だったのか (375)
iPadのホーム画面さらせPART1 (238)
[スマートフォルダ]Spotlightを使いこなそう! 4[検索] (649)
Macのテキストエディタ総合 Part12 (503)
Mac Blu-ray Player (817)
ソニー「1年以内にアップルに次ぐタブレットメーカーになる」(笑) (204)
1Passwordのスレ Part3 (242)
--log55.com------------------
もし司馬遼太郎が三国志書いてたらさ…
テレ東が三国志を題材にした新アニメを放映
中国の姓・名・字・諡号
台湾・朝鮮の英雄
【もう一つの】宋・遼・西夏【三国志】
【スモモ】李一族【東亜で最も偉大】
孔明か鳳統がいれば天下取れるんじゃなかったのか?
宮崎市定
-