Windows中的一些复制命令可以从当前位置复制到指定位置

时间:2012-02-12 19:57:43

标签: windows file copy find command

所以,我从这开始:

copy | dir /s /b | find "myFile" C:\Destination

但问题是目标在此命令中不可见。它只看到命令的第一部分取消提示C:\ Destination。

有没有办法可以搜索文件并复制它?

我也尝试过这样的事情:

SET source = dir /s /b | find "myFile"
SET destination = %CD%
copy %file% %destination%

但它不起作用。

在某些时候,即使尝试设置指向curent目录的变量(%CD%)也不起作用。

提前致谢!

PS:我正在寻找一种解决方案,无需在计算机上安装任何新功能,这就是为什么我在考虑批处理文件。

我想我可以用VBscript做到这一点,但我不确定。如果有人认为这是一个更好的选择,请发布答案。

1 个答案:

答案 0 :(得分:2)

经过几个小时的工作后,我设法找到了正确的命令组合,以实现这一目标。这是给大家的,我希望它有所帮助:

SET destination=%CD%
E:
for /f "delims=" %%a in ('dir /b /s ^| find "searchedFile"') do (
cd ..
xcopy "%%a" "%destination%" /D:10-10-2011)
pause

我使用了更改目录命令,因为"目录"命令返回整个路径,包括文件和尝试复制它时...它认为该文件位于包含其名称的路径中。

例如,如果我搜索" myFile.jpg"在" E:\ Folder \ New Folder \ myFile.jpg"它认为文件的位置是" E:\ Folder \ New Folder \ myFile.jpg \ myFile.jpg"显然这不起作用。