Eu consegui mover com êxito arquivos ocultos somente leitura usando MV.EXE dos utilitários GNU para Win32. O arquivo de destino mantém os atributos ocultos somente leitura.
Você terá que baixar o pacote inteiro:
Alguém sabe de uma maneira de mover arquivos e pastas que têm o atributo oculto, de sistema ou somente leitura definido na linha de comando ou em um arquivo em lotes? (Não, remover os atributos primeiro não é uma opção, já que não há nenhuma maneira prática de saber quais atributos foram definidos para redefini-los após a mudança.)
Usando o comando básico move
não funciona com itens com o oculto ou conjunto de atributos do sistema e, por algum motivo, não tem opções para especificar atributos como os comandos dir
e del
.
Eu tentei usar um utilitário que usei a função de operação de arquivo do shell, mas isso requer o uso de start /w
para evitar que o arquivo em lote seja executado adiante e reclama do suporte a nomes longos por algum motivo.
Eu tentei usar robocopy
, mas primeiro copia os arquivos e, em seguida, exclui os originais em vez de simplesmente mover a origem (o que resulta em uma frustrante atraso, mesmo com a saída excessiva redirecionada para nul
).
(Surpreendentemente, parece que poucas pessoas já precisaram mover arquivos ocultos de Na linha de comando, tudo o que consegui encontrar foi esta pessoa quem abandonou a tentativa.)
Eu consegui mover com êxito arquivos ocultos somente leitura usando MV.EXE dos utilitários GNU para Win32. O arquivo de destino mantém os atributos ocultos somente leitura.
Você terá que baixar o pacote inteiro:
Acabei de fazer isso usando:
xcopy /H hidden_file destination_file
del /AH hidden_file
Powershell v2:
move-item -force '--1.txt' newdirectory
também move arquivos ocultos com conjuntos de atributos ocultos e do sistema. Irá trabalhar com arquivos começando com '-'.
Que tal isso?
C:\Temp>attrib hidden.txt
A H C:\temp\hidden.txt
C:\Temp>mklink /H renamed.txt hidden.txt
Hardlink created for renamed.txt <<===>> hidden.txt
C:\Temp>del /AH hidden.txt
C:\Temp>attrib renamed.txt
A H C:\temp\renamed.txt
Tivemos o PowerShell e o comando mv
. Para completar, portanto, aqui está como fazer isso com TCC / LE da JP Software, cujos comandos move
e ren
têm uma opção /a:
que é comum a muitos de seus comandos que varre os diretórios para os arquivos operarem:
[C:\Users\JdeBP]touch /c --wibble-- 11/03/2014 20:29:18.868 C:\Users\JdeBP\--wibble-- [C:\Users\JdeBP]attrib +h +s .\--wibble-- ___A___________ -> _HSA___________ C:\Users\JdeBP\--wibble-- [C:\Users\JdeBP]move /a:hs --wibble-- --wobble-- C:\Users\JdeBP\--wibble-- -> C:\Users\JdeBP\--wobble-- 1 file moved [C:\Users\JdeBP]ren /a:hs --wobble-- --wurble-- C:\Users\JdeBP\--wobble-- -> C:\Users\JdeBP\--wurble-- 1 file renamed C:\Users\JdeBP]dir /a:hs /t /m /k --wurble-- 11/03/2014 20:29 0 _HSA___________ --wurble-- [C:\Users\JdeBP]