【发布时间】:2015-09-01 14:50:58
【问题描述】:
我正在尝试制作一个批处理文件,它将文件夹的内容备份到我的闪存驱动器上,并重命名闪存驱动器上的前一个文件夹。这是代码。
@echo off
echo Are you sure you want to erase the previous backup file? (Y,N)
set /p ans=
if %ans%==Y goto Backup
goto Exit
:Backup
rd "E:\Batch\BFiles Backup" /s
ren "E:\Batch\BFiles" "BFiles Backup"
:Copy
mkdir E:\Batch\BFiles
xcopy C:\Users\Habib\Documents\BFiles /E /Y E:\Batch\BFiles
echo Files have successfully been copied!
pause
:Exit
exit
当我运行批处理文件时,它会复制文件但不会重命名已经存在的文件夹,因为“访问被拒绝”。我已经尝试在管理员版本的 Cmd 中运行它,但它仍然无法正常工作。我的用户也是管理员,所以我不知道为什么访问被拒绝。
【问题讨论】:
-
请格式化您的代码并将其放入代码块中。
-
如果您使用
move而不是ren会怎样?顺便说一句,您收到拒绝访问消息的原因可能是正在使用的文件。 -
批处理文件存放在哪里?
-
ren "E:\Batch\BFiles" "BFiles Backup"应该是ren "E:\Batch\BFiles" "E:\Batch\BFiles Backup"? -
与
ren "E:\Batch\BFiles" "BFiles Backup"一起工作得很好
标签: batch-file cmd