为了提高我的PowerShell技能,这里有一个简单问题的丑陋解决方案的例子。欢迎就如何改进oneliner提出任何建议。
任务:将一个巨大的图标库修剪成更易于管理的东西。原始目录结构如下:
/Apps and Utilities
/Compile
/32 Bit Alpha png
/Compile 16 n p.png
/+ 10 or more files
/+ 5 more formats with 10 or more files each
/+ 20 or so icon names
/+ 22 more categories
我想复制32位Alpha pngs并稍微扁平化目录结构。这是我快速而非常肮脏的解决方案:
$dest = mkdir c:\icons; gci -r | ? { $_.Name -eq '32 Bit Alph
a png' } | % { mkdir ("$dest\" + $_.Parent.Parent.Name + "\" + $_.Parent.Name); $_ } | gci | % { cp $_.
FullName -dest ("$dest\" + $_.Directory.Parent.Parent + "\" + $_.Directory.Parent) }
不好,但它解决了我的问题。最终结构:
/Apps and Utilities
/Compile
/Compile 16 n p.png
/etc
/etc
/etc
你会怎么做?