【问题标题】:windows batch script: copy command issuewindows批处理脚本:复制命令问题
【发布时间】:2014-06-16 22:52:56
【问题描述】:

我在脚本中使用的复制命令有问题。命令语法是正确的(据我所知),但此命令显示“找不到路径”的错误;虽然路径存在,但文件也存在。不确定是什么问题。我的命令:

if exist D:\CDDATA\LIP\APin.dat* (copy D:\CDDATA\LIP\APin.dat* "D:\CDDATA\LIP\Temp\Apconf.dat") else goto exit12

我尝试使用 xcopy 代替,但它在运行时等待输入:

Does D:\CDDATA\LIP\Temp\Apconf.dat specify a file name
or directory name on the target
(F = file, D = directory)? 

尝试使用 /C 来抑制它,但不起作用。有什么建议吗??

提前致谢, 阿迪尔

【问题讨论】:

  • 为什么是星号?我无法在扩展名末尾保存一个文件。如果这不是您的意图,我认为它可能会将其视为通配符。
  • 好吧,我也想知道这一点。但这是其他人设计代码的方式,我正在努力解决这个问题。但是即使我在本地测试了有&没有星号。它在我的本地系统上运行良好。我尝试通过删除星号来测试它,包括引号中的路径等。但没有解决方案。同样的问题。

标签: windows batch-file copy xcopy


【解决方案1】:

给你,下次更好地解释你的问题

copy /y D:\CDDATA\LIP\APin.dat D:\CDDATA\LIP\Temp\Apconf.dat

【讨论】:

  • 也许去掉星号,两种方法都试试;)
  • 谢谢大卫,但我已经尝试了这两个选项(上面在回复 user1274820 时提到)。到目前为止,没有运气:(
  • 我的意思是,我在本地系统中尝试了这两个选项,并且它在带引号和不带引号的情况下都可以使用。即使使用 askterisk,我也不会遇到任何问题。此外,在远程和本地系统中,两个 Dos 版本相同:6.1
  • 你为什么不试试这个“xcopy D:\CDDATA\LIP\APin.dat D:\CDDATA\LIP\Temp\Apconf.dat\”。但是您想将一个文件复制到另一个文件上?因为你说的是​​“Apconfig.dat”是一个文件夹,它不是,你不想把“Apin.dat”复制到“D:\CDDATA\LIP\Temp\”吗?
  • 是的。这似乎是个问题。我意识到这里的错误。系统将“Apconfig.dat”视为文件夹。感谢 Davide 的洞察力。
【解决方案2】:

要在不提示的情况下 xcopy 到文件夹,请以反斜杠结束路径或使用 /I 开关。

"D:\CDDATA\LIP\Temp\Apconf.dat\"

【讨论】:

    【解决方案3】:
    mkdir "D:\CDDATA\LIP\Temp\"
    xcopy "D:\CDDATA\LIP\APin.dat" "D:\CDDATA\LIP\Temp\Apconf.dat"/Y/H/v/s
    

    尝试在 xcopy 中首先创建目录,然后复制文件。这对我有用。

    【讨论】:

      猜你喜欢
      • 2015-09-12
      • 2010-11-02
      • 2017-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      • 2011-05-10
      相关资源
      最近更新 更多