Batch file 使用批处理从网络驱动器复制到C:或D:驱动器
我在执行将文件从映射的网络驱动器复制到本地驱动器的批处理文件时遇到问题 这是我正在使用的批处理代码(目前它只是在一个低级文件夹中,因为我不想在生产环境中执行命令,直到我把一切都弄得完美为止) 我也试过:Batch file 使用批处理从网络驱动器复制到C:或D:驱动器,batch-file,scripting,cmd,copy,Batch File,Scripting,Cmd,Copy,我在执行将文件从映射的网络驱动器复制到本地驱动器的批处理文件时遇到问题 这是我正在使用的批处理代码(目前它只是在一个低级文件夹中,因为我不想在生产环境中执行命令,直到我把一切都弄得完美为止) 我也试过: echo off cls echo Would you like to do a backup? pause copy "\\My_Servers_Name\Shared Drive\FolderName\*" C:TEST_BACKUP_FOLDER pause 当我请求将文件复制到C
echo off
cls
echo Would you like to do a backup?
pause
copy "\\My_Servers_Name\Shared Drive\FolderName\*" C:TEST_BACKUP_FOLDER
pause
当我请求将文件复制到C:TEST_BACKUP_文件夹时,上述两个命令都不会将其复制到C:TEST_BACKUP_文件夹,但如果我使用相同的语法,但从本地驱动器发出复制请求,则此语法不会出现问题,并直接进入上述文件夹,不会出现问题
最奇怪的是,cmd输出甚至显示我想要复制的文件甚至在命令行中被识别,最后它显示“1个文件已复制”,但没有复制到该文件夹。因此,我知道我的复制请求目的地是正确的,因为它甚至可以识别文件夹中的文件和显示的名称。正如我在C:中所说的,目的地也是正确的,因为当我在本地PC上使用该地址时,它们每次都会复制到该文件夹中。这显然与网络驱动器有关。起初我认为这可能是权限问题,但我现在正在尝试的文件夹是一个共享映射驱动器,公司中的任何人都可以访问并拥有r/w权限。为什么在公共共享驱动器上会出现这样的问题
你能提供进一步的建议吗 这可能是由于安全检查。也许对你有帮助
有两种建议:一种是pushd,另一种是注册表更改。我建议使用第一个…您正在将所有文件复制到一个名为
TEST\u BACKUP\u FOLDER
试试这个:
md TEST_BACKUP_FOLDER
copy "\\My_Servers_IP\Shared Drive\FolderName\*" TEST_BACKUP_FOLDER
只需做以下改变
echo off
cls
echo Would you like to do a backup?
pause
copy "\\My_Servers_IP\Shared Drive\FolderName\*" C:\TEST_BACKUP_FOLDER
pause
最重要的是,您需要安装驱动器
net use z: \\yourserver\sharename
当然,您需要确保运行批处理文件的帐户具有访问共享的权限。如果使用计划任务执行此操作,则可以通过选择任务来选择帐户,然后:
- 右键单击属性
- 单击常规选项卡
- 根据
copy "z:\FolderName" "C:\TEST_BACKUP_FOLDER"
如果您包含指向图像的链接,我们可以为您编辑它。
c:test\u backup\u folder
是指向当前目录下文件夹的相对路径,显然,根据当前目录是什么,副本的目标会有所不同。你试过绝对路径吗,比如c:\somewhere\test\u backup\u folder
?嘿,伙计们。多亏了老雷迪特。不需要回复。谢谢:)多亏了Reddit的优秀员工,我才弄明白。我使用的语法是:xcopy“\\My\u Server\u IP\SharedDrive\Folder*”“C:\Test\u Folder”/D/E/C/I/H/y您的问题没有提到递归复制,如果您没有提供准确的详细信息,为什么您希望得到一个有效的解决方案?
copy "z:\FolderName" "C:\TEST_BACKUP_FOLDER"