批量 - 使用相对路径复制文件

时间:2013-09-10 05:37:24

标签: batch-file cmd xcopy

我是批量的初学者。我想通过批处理命令将\Debug\test.ext中的文件复制到..\..\new

我尝试了copy "\Debug\text.txt" "..\..\new",但收到错误“系统无法找到指定的文件”

6 个答案:

答案 0 :(得分:36)

如果你用\开始你的路径,它是绝对的,而不是相对的路径。 请尝试使用copy "Debug\text.txt" "..\..\new"

答案 1 :(得分:1)

如果你有Debug子网尝试

md   "..\..\new" >nul 2>&1
copy ".\Debug\text.txt" "..\..\new"
如果您还没有,{p> md将创建一个new目录。

答案 2 :(得分:0)

这表示您尚未指定正确的路径。确保指定文件的正确完整路径。

而不是“\ Debug \ text ....”指定整个路径,如“C:\ Debug \ text ...”

答案 3 :(得分:0)

如果使用bat来运行复制命令,则语法应为

bat'copy“ C:\\ Program Files(x86)\\ ApplicationFiles \\ firstfolder \\ application.yml”“ C:\\ Program Files(x86)\\ ApplicationFiles \\ secondfolder \\ application.yml” '

上面的命令有两件事:

  1. 如果文件路径包含空格,则用双引号将该路径引起来。
  2. 在使用Windows文件路径时,请使用转义字符,因为某些命令行工具要求对文件路径进行转义。因此,不要使用“ \”,而要使用“ \\”。当您在CI / CD工具中运行bat命令时,这将为您提供帮助。

答案 4 :(得分:0)

Windows 10 中相对路径的正确命令是:
:help 'switchbuf'
说明:

  • 当文件或文件夹包含空格时,引号会被加上。
  • copy "%~dp0%\your_file_name.extension" "%systemdrive%\Some Folder\Other Folder" 设置当前目录。不用担心驱动器号或您有多少级文件夹。它可以用于向前和向后文件夹,如 %~dp0%"%~dp0%\subfolder\your_file.ext"(>>> 向后,请参阅此链接 Get the path two directories up in batch file
  • "%~dp0%\..\..\your_file.ext" 就是它的名字,驱动器是 Windows 系统文件。

答案 5 :(得分:-1)

要正确引用完整路径,需要包含路径 驱动器以及文件夹名称和文件名具有正确的文件格式。

例如:
 " C:\ Testfolder \ test.txt的"

如果在网络中引用那么 " \\ 192.168.1.225 \ C $ \ testfolder \ test.txt的"

它会正常工作。