2009-05-26 13 views
2

将包含字符串的文件复制到位置oneliner - cmd.exe有更好的方法吗?

for /f "tokens=*" %i in ('dir *sonic.exe /s /b') do copy /y "%i" D:\temp\utils\ 

的问题是,有没有更好的或者更短的方式来做到这一点?

p.s.我知道,“令牌= *”可如果文件路径没有空格省略..

更新:我发现找到(不复制)从我的旧小抄较短方式:

::START - RUN - cmd.exe 
dir d:\libs\*SubSonic*.dll /s /b>>list.txt&list.txt 
:: START - RUN - CMD.EXE 
where /R D:\libs\ *SubSonic* 
+0

PS完全不可接受? :P(国际海事组织这是极其痛苦搞清楚这种类型的东西在CMD.EXE相对于投入相同的时间在PowerShell中) – 2009-05-26 08:05:24

+0

根本不是 - 但问题应该是: 将包含字符串的文件复制到位置oneliner - PowerShell有更好的方法吗? – 2009-05-28 06:51:12

+0

但是,当你有一个*非常好的*锤......:D – 2009-05-28 07:44:08

回答

1

您可以使用XCOPY来完成此操作。

这将工作,但会复制目录结构太,我不认为这是你想要什么:

XCOPY /S *sonic.exe D:\temp\utils 
1

喜欢的东西

dir -r -i *sonic.exe | select-string "tokens=" | % {cp $_ d:\temp\utils} 

? [在PS]

相关问题