28

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

我试过copy "\Debug\text.txt" "..\..\new"了,但得到错误“系统找不到指定的文件”

4

6 回答 6

46

如果您以 开始路径\,则它是绝对路径,而不是相对路径。试试copy "Debug\text.txt" "..\..\new"

于 2013-09-10T07:55:59.387 回答
1

如果你有Debugsubdir 试试

md   "..\..\new" >nul 2>&1
copy ".\Debug\text.txt" "..\..\new"

mdnew如果您还没有目录,将创建一个向上两级的目录。

于 2013-09-10T06:00:40.420 回答
0

这意味着您没有指定正确的路径。确保指定正确的文件完整路径。.

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

于 2013-09-10T05:55:50.103 回答
0

Windows 10中用于相对路径的正确命令是:
copy "%~dp0%\your_file_name.extension" "%systemdrive%\Some Folder\Other Folder"
说明:

  • 当文件或文件夹包含空格时,引号会被添加。
  • 设置当前%~dp0%目录。不用担心驱动器号或您有多少级别的文件夹。它可以用于前进和后退文件夹作为"%~dp0%\subfolder\your_file.ext""%~dp0%\..\..\your_file.ext"(>>> 为后退,请查阅此链接获取批处理文件中两个目录向上的路径
  • 顾名思义,驱动器是%systemdrive%Windows 系统文件所在的位置。
于 2021-04-15T19:57:51.803 回答
0

如果您使用 bat 运行复制命令,您的语法应该是。

bat '复制 "C:\\Program Files (x86)\\ApplicationFiles\\firstfolder\\application.yml" "C:\\Program Files (x86)\\ApplicationFiles\\secondfolder\\application.yml"'

上述命令中有两个主要内容:

  1. 如果您的文件路径包含空格,则用双引号将路径括起来。
  2. 使用 windows 文件路径时使用转义字符,因为某些命令行工具需要对文件路径进行转义。所以不要使用'\',而是使用'\\'。当您在 CI/CD 工具中运行 bat 命令时,这将为您提供帮助。
于 2019-08-19T18:30:37.723 回答
-1

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

例如:
“C:\Testfolder\test.txt”

如果在网络中引用,则“\\192.168.1.225\c$\testfolder\test.txt”

它会正常工作。

于 2017-07-28T09:29:16.417 回答