【问题标题】:Windows command/commands to FIND file and COPY it to certain location or directory where batch file was launched fromWindows 命令/命令查找文件并将其复制到启动批处理文件的某个位置或目录
【发布时间】:2012-04-08 15:28:38
【问题描述】:

所以,我从这个开始:

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

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

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

我也试过这个:

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

但它不起作用。

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

提前致谢!

PS:我正在寻找一种无需在计算机上安装任何新东西即可工作的解决方案,这就是我考虑批处理文件的原因。

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

【问题讨论】:

    标签: vbscript batch-file copy find command


    【解决方案1】:

    dir/s/b|for /f %i in ('find "myFile"') do copy "%i" .\

    对我来说非常好用。任何人都知道如何使用同一行将相同命名的文件复制到具有新名称的目录中。 例子: 文件名是:text.txt 上面的命令行搜索许多文件夹并复制所有找到的实例,如下所示: 1text.txt, 2text.txt, 3text.txt

    【讨论】:

      【解决方案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
      

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

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

      【讨论】:

        【解决方案3】:

        这个怎么样?

        dir/s/b|for /f %i in ('find "myFile"') do copy %i .\


        猜想 %i 也应该被引用...

        dir/s/b|for /f %i in ('find "myFile"') do copy "%i" .\

        【讨论】:

        • 我自己找到了正确的组合:) 我只是没有足够的声誉来发布我自己的答案。还是谢谢你!
        • @reos - 该网站的目的是帮助所有来到这里提出问题的人,而不仅仅是你现在。如果这里有正确答案,您应该标记它以供将来的访问者使用。
        • 您的回答更多的是提示而不是答案。我会将自己的答案标记为正确答案,但直到 48 小时后才能标记自己的答案。所以以遇到这个问题的其他人的名义,我会尽快标记一个正确的答案。
        • 这不是回答您问题的人的评论。没有人能回答你,因为你没有在你的问题中说清楚。你搞砸了一些东西,你的 cd.. 实际上不会影响任何东西,因为你在 xcopy 命令中使用了绝对路径。
        【解决方案4】:

        将文件路径放在引号中

        copy "%file%" "%destination%"
        

        SET destination = "%CD%"
        

        【讨论】:

        • 不,引号不是问题。我找到了命令的组合,我只是无法发布我的答案,因为我没有足够的赏金。还是谢谢!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-15
        • 1970-01-01
        • 1970-01-01
        • 2012-12-14
        • 1970-01-01
        • 2013-03-18
        相关资源
        最近更新 更多