使用批处理从网络驱动器复制到C:或D:驱动器

Jac*_*984 5 scripting cmd copy batch-file

我在执行批处理文件时遇到问题,该文件将文件从映射的网络驱动器复制到本地驱动器.

这是我正在使用的批处理代码(目前它只是在一个低级文件夹中,因为我不想在生产环境中执行命令,直到我完成所有操作).

echo off
cls

echo Would you like to do a backup?

pause

copy "\\My_Servers_IP\Shared Drive\FolderName\*" C:TEST_BACKUP_FOLDER

pause
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

echo off
cls

echo Would you like to do a backup?
pause

copy "\\My_Servers_Name\Shared Drive\FolderName\*" C:TEST_BACKUP_FOLDER

pause
Run Code Online (Sandbox Code Playgroud)

当我请求它时,上述任何一个命令都不会将文件复制到C:TEST_BACKUP_FOLDER,但是如果我使用相同的语法,但是从本地驱动器发出复制请求,则此语法没有问题,直接进入上面的文件夹没有问题.

最奇怪的部分是cmd输出甚至显示我想要复制的文件甚至在命令行中被识别,最后它显示"1个文件被复制"但没有任何复制到该文件夹​​.所以我知道我的复制请求目的地是正确的,因为它甚至可以识别文件夹中的文件和名称.正如我所说,C:中的目的地也是正确的,因为当我在本地PC上使用该地址时,他们每次都会复制到该文件夹​​.这显然与网络驱动器有关.起初我想也许这是一个权限问题,但我现在正在尝试的文件夹是一个共享映射驱动器,公司中的任何人都可以访问并具有r/w特权.为什么在公共共享驱动器上出现此类问

你能提供进一步的建议吗?

fox*_*ive 8

您正在将所有文件复制到一个名为的文件 TEST_BACKUP_FOLDER

试试这个:

md TEST_BACKUP_FOLDER
copy "\\My_Servers_IP\Shared Drive\FolderName\*" TEST_BACKUP_FOLDER
Run Code Online (Sandbox Code Playgroud)

  • 您的问题没有提到递归复制,当您不提供准确的详细信息时,为什么您希望获得有效的解决方案呢? (5认同)

Mar*_*kus 1

这可能是由于安全检查造成的。此线程可能对您有帮助。

有两种建议:一种是使用 Pushd,另一种是更改注册表。我建议使用第一个...