* 非コマンドレットなコマンドの引数としてファイルリストを渡す [#g5d0ebe4]
** 前提:3つの.txtファイルがあるとする [#ibaf86cc]
PS> dir
Mode LastWriteTime FileSize Name
---- ------------- -------- ----
-a---- 2018/07/04 19:40 9 B 1.txt
-a---- 2018/07/04 19:37 3 B 2.txt
-a---- 2018/07/04 19:37 3 B 3.txt
** svn add の引数にする、すなわち svn add 1.txt 2.txt 3.txt とするには [#scb54abc]
PS> svn add (Get-Item *.txt).Name
A 1.txt
A 2.txt
A 3.txt
** svn status の結果を svn revert の引数にする、すなわち svn revert 1.txt 2.txt 3.txt とするには [#adbcaec0]
PS> svn st
M 1.txt
M 2.txt
M 3.txt
PS> svn revert ((svn st) -replace " +", "," | ConvertFrom-String -Delimiter "," | select -ExpandProperty P2)
Reverted '1.txt'
Reverted '2.txt'
Reverted '3.txt'
- (svn st) -replace " +", "," いったんM 1.txtをカンマ区切りにしてM,1.txtにして、ConvetFrom-Stringに渡し、2カラム目(P2)を取り出す
- それから svn revert へ渡す
- Mの後の空白が多くて邪魔なので、(svn st) -replace " +", "," でいったん"M 1.txt"をカンマ区切りな"M,1.txt"にして、
- ConvetFrom-Stringに渡してカスタムオブジェクトにして、そこからselectで2カラム目(P2)を取り出すと、ファイル名の一覧になる
- それを svn revert へ渡す