访问被拒绝,cmd移动windows 7

访问被拒绝,cmd移动windows 7

如果目标已存在,则在 win 7 中无法使用此命令移动目录。系统提示“拒绝访问”。为什么会出现这种情况?在 XP 中可以正常使用。

move /y "%1" c:\mydir\

我可以使用 robocopy,但它只会移动文件夹的内容,而不是整个文件夹。

robocopy "%1" c:\mydir /E /IS /MOVE

我怎么解决这个问题?

答案1

尝试:

IF EXIST "c:\mydir" (
     robocopy "%1" c:\mydir /E /IS /MOVE 
     ) ELSE (
     move /y "%1" c:\mydir 
     )

这将检查文件夹是否存在,如果文件夹存在,则移动内容,如果文件夹不存在,则它将移动您的文件夹。如果您仍然被拒绝访问,那么您大概需要获得管理员权限。

答案2

最后..这是解决方案..谢谢大家的帮助:)

SET mydir=C:\mydir
IF EXIST "%mydir%\%~n1\" (
  ROBOCOPY %1 "%mydir%\%~n1" /E /IS /MOVE
) ELSE (
  MOVE /Y %1 "%mydir%\"
)

答案3

如果您ACCESS DENIED在尝试移动文件夹时收到错误消息,请

  1. 您没有移动文件夹的正确权限
  2. 您没有正确的权限来移动文件夹中的一个或多个文件
  3. 系统/应用程序正在访问一个或多个文件
  4. 一个或多个文件受到删除保护。

检查所有这些可能性。

答案4

另一种方法是,如果存在,则更新目标内容,否则,移动

PS:添加或删除您选择的 robocopy 参数

SET ORIGIN=%HOMEDRIVE%\myfolder_origin
SET DEST=%HOMEDRIVE%\myfolder_dest
IF EXIST %DEST% (robocopy %ORIGIN% %DEST% /E /COPYALL /PURGE /MIR /IS /IT /TEE /FFT /ETA /R:10 /W:5 /ZB /V /LOG:"%HOMEPATH%\Desktop\log.txt") ELSE (MOVE /Y %ORIGIN% %DEST%)

robocopy 帮助

robocopy /?
/E :: Copy subdirectories, including empty ones.
/COPYALL :: copy all file information
/PURGE :: remove destination files and directories that no longer exist in the source.
/MIR :: mirror a directory tree
/IS :: Include equal files.
/IT :: Include modified files
/TEE :: Send output to console window and log file.
/FFT :: assume FAT file times (granularity of 2 seconds).
/ETA :: Show estimated time of arrival of copied files.
/R:n :: Number of retries on copies with errors; default value: 1 million.
/W:n :: Wait time between retries; default value: 30 seconds.
/ZB :: Use bootable mode; if access is denied, use backup mode.
/V :: Produce verbose output, including skipped files.
/LOG:file :: Include status in LOG file (overwrite existing log).

相关内容