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

File 将包含字符串的文件复制到oneliner位置-是否有更好的方法使用cmd.exe?,file,copy,cmd,File,Copy,Cmd,这个 问题是有更好的方法还是更短的方法 p、 我知道如果文件路径没有空格,“tokens=*”可以省略 更新:我找到了一种从旧备忘单中查找(而不是复制)的较短方法: for /f "tokens=*" %i in ('dir *sonic.exe /s /b') do copy /y "%i" D:\temp\utils\ 你也许可以用它来做这件事 这会起作用,但也会复制目录结构,我认为这不是您想要的: ::START - RUN - cmd.exe dir d:\libs\*SubSon

这个

问题是有更好的方法还是更短的方法

p、 我知道如果文件路径没有空格,“tokens=*”可以省略

更新:我找到了一种从旧备忘单中查找(而不是复制)的较短方法:

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

你也许可以用它来做这件事

这会起作用,但也会复制目录结构,我认为这不是您想要的:

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

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

??[在PS中]

实际上它只复制了包含字符串的文件。。。XCOPY/S*sonic.exe D:\temp\utils\tmp D:ORM\SubSonic\u 2.1\u Final\u Source\src\subcander\bin\Debug\sonic.exe D:ORM\SubSonic\u 2.1\u Final\u Source\src\subcander\obj\Debug\sonic.exe 2文件copiedIt将仅复制匹配的文件,但是,如果源文件位于名为bin的子目录中,那么目标文件也将位于名为bin的子目录中。FOR循环不会这样做,但是如果你想要目标中的子目录,那么XCOPY绝对是你想要的。是的,文件夹结构是不需要的,并且没有准确地回答这个问题。。。在没有正确测试的情况下,我很快就做出了答案。。。无论如何,谢谢你的回答和评论!!!你可以取消我的回答被接受的标记。再按一下。我也想找出最好的答案!PS是否完全不可接受P(在我看来,在CMD.EXE中找出这种类型的东西比在PowerShell中同时投资要痛苦得多)一点也不-但问题应该是:将包含字符串的文件复制到一个位置oneliner-有没有更好的方法使用PowerShell?但是当你有一个非常好的锤子时…:D+1用于提供工作样品。谢谢关于这里讨论的问题,没有工作代码的简单理论不是很有用……有趣的是,我通常不会发布代码并发送理论(并且不会得到+1s:D)!(虽然我经常做类似的事情,但我并没有对此进行测试)。如果你对PS感兴趣,有一本新版本的Payette书正在添加到你的愿望列表中——它可能对开发者来说是最好的(还有很多其他关于PS的好书)
dir -r -i *sonic.exe | select-string "tokens=" | % {cp $_ d:\temp\utils}