Finalmente .. aqui está a solução .. Obrigado pela ajuda galera:)
SET mydir=C:\mydir
IF EXIST "%mydir%\%~n1\" (
ROBOCOPY %1 "%mydir%\%~n1" /E /IS /MOVE
) ELSE (
MOVE /Y %1 "%mydir%\"
)
Eu não posso usar este comando no win 7 quando quiser mover um diretório se o destino existir. Diz acesso negado. Por que acontece isso? Funcionou no XP.
move /y "%1" c:\mydir\
Eu posso usar o robocopy, mas ele moverá apenas o conteúdo da pasta. não a pasta completamente.
robocopy "%1" c:\mydir /E /IS /MOVE
Como posso resolver este problema?
Tente:
IF EXIST "c:\mydir" (
robocopy "%1" c:\mydir /E /IS /MOVE
) ELSE (
move /y "%1" c:\mydir
)
Isto irá verificar se a pasta existe e mover o conteúdo se a pasta existir e se a pasta não sair, então irá mover sua pasta. Se você ainda tiver acesso negado, provavelmente precisará obter privilégios de administrador.
Se você estiver recebendo ACCESS DENIED
mensagens de erro ao tentar mover uma pasta,
Verifique todas essas possibilidades.
Eu sou coxo e não entendo exatamente o que as respostas aqui estão fazendo sob o capô, então eu criei este copy / paste doozy
SET src=C:\dev
SET dest=D:\dev
IF EXIST %dest% (ROBOCOPY %src% %dest% /E /IS /MOVE) ELSE (MOVE /Y %src% %dest%)