Pregunta
¿Alguien sabe de una manera de mover archivos y carpetas que tengan el atributo oculto, del sistema o de solo lectura establecido desde la línea de comandos o un archivo por lotes? (No, quitar los atributos primero no es una opción, ya que no hay una forma práctica de saber qué atributos se configuraron para volver a configurarlos después del movimiento).
(Intentos fallidos
El uso del
move
comando básico no funciona con elementos con el conjunto de atributos ocultos o del sistema y, por alguna razón, no tiene interruptores para especificar atributos como los comandosdir
ydel
.Intenté usar una utilidad que escribí que usa la función de operación de archivos del shell, pero que requiere usar
start /w
para evitar que el archivo por lotes se ejecute antes, y se queja del soporte de nombres largos de archivos por alguna razón.Intenté usarlo
robocopy
, pero primero copia los archivos y luego elimina los originales en lugar de simplemente mover la fuente (lo que resulta en un retraso frustrante, incluso con la salida excesiva redirigida anul
).
(Sorprendentemente, parece que pocas personas han necesitado mover archivos ocultos desde la línea de comandos. Todo lo que pude encontrar fue esta persona que abandonó el intento).
fuente
\temp
directorio, ¿por qué no simplemente renombrar / mover el%1
directorio\temp
? ¿O es solo el caso simplificado?Respuestas:
He podido mover con éxito archivos ocultos de solo lectura usando MV.EXE desde GNU para las utilidades Win32. El archivo de destino conserva los atributos ocultos de solo lectura.
Tendrás que descargar el paquete completo:
http://gnuwin32.sourceforge.net/downlinks/coreutils-bin-zip.php
fuente
--
; piensa que es un argumento en lugar de un nombre de archivo.mv .\--1.txt newdirectory
--foo
para denotar argumentos de línea de comandos. Para admitir los nombres de archivo que comienzan con--
, la mayoría de ellos aceptan un argumento especial--
para indicar el final de los argumentos de la línea de comandos y el comienzo de los nombres de archivo. No estoy seguro de simv
es uno de estos comandos, pero si lo es, entonces debería ser capaz de:mv -- --weirdFileName.gotcha betterFileName.txt
Acabo de lograr esto usando:
fuente
robocopy
, pero las primeras copias de los archivos y luego borra los originales en lugar de simplemente moviendo la fuente (que da lugar a un retraso frustrante, ...).”Powershell v2:
también mueve archivos ocultos con conjunto de atributos ocultos y del sistema. Trabajará con archivos que comienzan con '-'.
fuente
Tab
para completar un nombre de archivo toma> 1 segundo, lo cual es orden de magnitud más lenta que encmd
. Así que, a menos que estés dispuesto a comprarme un nuevo sistema, PS no va a ayudar.)mv .oldfile .newfile
¿Qué tal esto?
fuente
Hemos tenido PowerShell y el
mv
comando. Para completar, por lo tanto, he aquí cómo hacerlo con TCC / LE de JP Software , cuyos comandosmove
yren
ambos tienen una/a:
opción que es común a muchos de sus comandos que escanean directorios para buscar archivos para operar:Otras lecturas
fuente