2012-01-26
Subversion の管理フォルダを削除
PSIsContainer
これでフォルダかどうかの判定が出来るのは初めて知った。
PowerShellのコードは適当に作った為、対象の「SVN」管理フォルダを削除した後に、そのフォルダの子階層をのぞこうとしてエラー出てる感じが見られました。
今度再帰処理のものに書き換えておこう。
$target = "絶対パス" $svn_name = '.svn' filter svn_del { rmdir $_.FullName -Force -Recurse -WhatIf } dir -Path $target -Force -Recurse | ? { $_.PSIsContainer -eq 'true' -and $_.Name -eq $svn_name } | svn_del
cd "絶対パス" for /R %i in (.svn) do rd /Q /S "%i"
■再帰処理版
$target = "絶対パス" $svn_name = '.svn' #階層が多いとスタックオーバーフローの恐れあり function CheckSvnDir($target) { $paths = dir $target -Force foreach ($path in $paths) { if ($path.PSIsContainer -eq 'true') { if ($path.Name -eq $svn_name) { #svnフォルダの場合は削除する。(強制削除) rmdir $path.FullName -Force -Recurse -WhatIf } else { #svnフォルダ以外のフォルダは再帰的にチェックを行う。 CheckSvnDir($path.FullName) } } } } CheckSvnDir($target)
■修正版
$target = "絶対パス" $svn_name = '.svn' filter svn_del { rmdir $_.FullName -Force -Recurse } dir -Path $target -Force -Recurse | ? { $_.PSIsContainer -eq 'true' -and $_.Name -eq $svn_name } | ? { Test-Path $_.FullName -PathType Container } | svn_del
コメントを書く
トラックバック - http://d.hatena.ne.jp/regerege/20120126/1327539784
リンク元
- 2 http://www.google.co.jp/m?site=mobile&safe=off&mrestrict=chtml&q=sub命令&hl=ja
- 2 http://www.google.co.jp/url?sa=t&rct=j&q=AspProcessorThreadMax設定&source=web&cd=4&ved=0CDoQFjAD&url=http://d.hatena.ne.jp/regerege/20111102/1320216143&ei=zw0hT4WZDOmviQef-dDWBA&usg=AFQjCNEgXyCSn4K1XThkKDUeux2dAU8WNA
- 2 http://www.google.co.jp/url?sa=t&rct=j&q=xlfGetWorkspace&source=web&cd=1&ved=0CDIQFjAA&url=http://d.hatena.ne.jp/regerege/20111212/1323706403&ei=P-ogT6C0A828iAfJmvXyBA&usg=AFQjCNGbjU7xdqxFQBPCE0jB0ifAo1-F8w
- 2 http://www.google.com/search?hl=ja&lr=&ie=UTF-8&oe=UTF-8&num=50&q=c#+excel+出力+xml
- 1 http://search.yahoo.co.jp/search?p=メタデータ iis&aq=-1&oq=&ei=UTF-8&fr=top_ga1_sa&x=wrt
- 1 http://search.yahoo.co.jp/search?p=auひかり+解約&tid=top_ga1_sa&ei=UTF-8&aq=3&oq=auひかり&pstart=1&fr=top_ga1_sa&b=81
- 1 http://websearch.rakuten.co.jp/Web?qt=WindowsPE+windowsxp&col=OW&svx=101102
- 1 http://www.google.co.jp/search?hl=ja&gbv=2&gs_sm=c&gs_upl=1578l4969l0l7828l9l8l0l0l0l0l656l1532l2-2.1.0.1l4l0&q=iis asp.net 動かない&ct=broad-revision&cd=8&ie=UTF-8&sa=X
- 1 http://www.google.co.jp/search?hl=ja&lr=lang_ja&q=powershell NICの設定&spell=1&sa=X
- 1 http://www.google.co.jp/search?q=asp.net+動作しない&hl=ja&gbv=2&prmd=ivns&ei=FiAhT5XwJubGmQXcraiuDA&start=10&sa=N