当前位置: 首页 > 知识库问答 >
问题:

COPY、XCOPY、ROBOCOPY-将整个文件路径复制到完整文件夹路径

东郭京
2023-03-14

我试图使用完整文件路径列表(大多数是唯一的)(例如“C:\Folder1\file\u 1.xls”)复制到完整文件夹路径(例如“C:\DifferentFolder”)。

完整文件路径和完整文件夹路径都因行而异。我已经成功地使用COPY完成了这一点,将所有路径都放在引号中。

COPY "E:\California\CA_restaurants.pdf" "E:\Placestoeat\"
COPY "E:\California\CA_hotels.pdf" "E:\Placestostay\"
COPY "E:\Arizona\AZ_hotels.pdf" "E:\Placestostay\"

继续使用此功能的问题是,我发现,在查看之前和之后的#个文件时,我只有大约95%的成功率。bat文件已完成。我不确定问题是什么,但我正在考虑切换到Robocopy或xcopy,因为我听说它们可以提供成功的反馈,并可以选择重命名重复文件??

问题是,我似乎无法根据完整的文件名和完整的文件夹名称让xCope或机器人副本工作,这两者都会改变每一行。

有人能解释我做错了什么吗?或者给我一个示例脚本让我尝试一下?我不是技术人员,只是想找到一种方法来提高我平凡的历史数据项目的效率。

共有1个答案

艾心远
2023-03-14

如果您打开cmd.exe并键入xCope/?,您将看到所有有效的开关,我不确定您尝试过哪些xCope命令,但这应该毫无疑问地工作:

xcopy /Y "E:\folder paths\file.pdf" "E:\Placetostay"

但是,我想知道为什么您需要将每一行添加到要复制的文件中?这是大量的手工工作,以至于手动复制可能会更容易。那么,为什么不实现自动化呢?

这里有一些想法。此脚本将在您的驱动器上执行递归搜索,如果任何文件与酒店名称匹配,则会将其复制到相关目标,除非搜索的文件位于目标位置,因为我们不想再次将文件复制到其自身路径,显然第二个选项也会对餐厅执行此操作:

酒店:

@echo off
for /f %%i in ('dir /s /b /a-d *.pdf ^| findstr /i hotel') do (
  if not "%%~dpi"=="E:\Placestostay\" xcopy "%%~fi" "E:\Placestostay"
)

餐厅:

@echo off
for /f %%i in ('dir /s /b /a-d *.pdf ^| findstr /i restaurant') do (
  if not "%%~dpi"=="E:\Placestostay\" xcopy /Y "%%~fi" "E:\Placestoeat"
)

显然,上述内容也可以结合使用。

然后,我们也可以这样做,但让您通过提示用户搜索条件来选择要搜索的内容:

@echo off
set /p "search=Select search type (hotel, restaurant etc.): "
set /p "destination=Enter the destination to copy to (E:\placestoeat\ etc.): "
for /f %%i in ('dir /s /b /a-d *.pdf ^| findstr /i %search%') do (
  if not "%%~dpi"=="%destination%" xcopy /Y "%%~fi" "%destination%"
)

或者类似地,根据搜索预定义目标文件夹:

@echo off
set /p "search=Select search type (hotel, restaurant etc.): "
if /i "%search%"=="hotel" set "destination=E:\placestostay\"
if /i "%search%"=="restaurant" set "destination=E:\placestoeat\"
for /f %%i in ('dir /s /b /a-d *.pdf ^| findstr /i %search%') do (
  if not "%%~dpi"=="%destination%" xcopy /Y "%%~fi" "%destination%"
)
 类似资料:
  • 我想使用robocopy或xcopy将目录及其内容复制到远程共享。 我已经尝试过了: 不过,这并不复制foo目录。 这将文件和目录从远程路径复制到本地路径: 但反过来也没什么区别: 如您所见,foo目录没有被复制。 那么,如何将本地目录文件复制到远程路径呢? ---编辑--- 使用robocopy foo\\172.16.254.41\c$\temp/copyall/E ---编辑2--- 结果是

  • 问题内容: 有没有一种简单的方法可以打印的完整路径? 的 应该打印 问题答案: 使用 readlink :

  • 问题内容: 我需要将文件路径名传递给模块。如何从目录名称,基本文件名和文件格式字符串构建文件路径? 呼叫时目录可能存在也可能不存在。 例如: 我需要创建一个字符串 手动连接片段似乎不是一个好方法。我想: 但它给 问题答案: 这很好用: 请记住,这种存在仅是因为不同的操作系统使用不同的路径分隔符。它可以消除这种差异,因此跨平台代码不必因每种操作系统的特殊情况而混乱。无需对文件名“扩展名”执行此操作(

  • 本文向大家介绍C#将文件复制到指定文件夹并整理,包括了C#将文件复制到指定文件夹并整理的使用技巧和注意事项,需要的朋友参考一下 下面是在C#中将文件复制(剪切是先复制再删除)到指定的路径,并按日期归档的一个简单实例。值得注意的2点是: 1)文件的路径是关键,程序中使用双斜杠\\ 2)文件和文件夹的区别 附上其他网友的实现方法: 完全可以不用递归实现,用广度优先算法可以节省栈空间 以上所述就是本文的

  • 我想发送完整的轨道来查看和显示像http://localhost:8080/fileaName.然后我推这个链接,并在我的磁盘上保存文件。 现在我看不到页面上的链接

  • 我想从URI中获得完整的文件路径。URI不是图像,而是音乐文件,但如果我像纵隔解决方案那样做,如果应用程序用户选择eg Astro作为浏览器,而不是音乐播放器,它就不会工作。我怎么解决这个?