2011-08-16 15 views
6

Estoy copiando un archivo de una carpeta a otra carpeta. Me gustaría nombrar el archivo de destino de esta forma específica:Pasar un nombre de computadora y un nombre de usuario en una secuencia de comandos por lotes

filename-currentdatetime-computername-username.txt 

¿Cómo hacer esto utilizando un archivo por lotes con los comandos de Windows?

que necesito para obtener el nombre del archivo original seguido por la fecha y hora actual del sistema y luego el computernaem y el usuario que ha iniciado sesión

+0

@downvoter por favor ayúdense con el resto de mis preguntas –

+0

FYI "DOS" es un sistema operativo que no se ha usado durante más de 10 años. – tenfour

+1

Si bien "DOS" es técnicamente incorrecto aquí, para muchos usuarios es sinónimo de "línea de comando". – aphoria

Respuesta

10

Si no se preocupan por el formato exacto fecha, este comando copiará una archivo e incluya la fecha, hora, nombre del usuario y máquina en el nombre del archivo de destino.

copy myFile.txt myFile-%date%_%time%-%computername%-%username%.txt 

La fecha y la hora estarán en el formato de fecha predeterminado de su sistema operativo. Tenga en cuenta que algunos formatos de fecha pueden contener caracteres que no están permitidos en los nombres de archivo.

Para que el comando sea portátil, debe especificar el formato usted mismo. Aquí están exampled de cómo crear fechas de formato que son válidos en nombres de archivo: Format date and time in a Windows batch script

+0

¡HERMOSO! casi funciona, la cosa es que esto sucede: ya que pone la fecha como "Tue 16/08/11 ......" no le gusta el espacio, ¿cómo me deshago del espacio o simplemente ignoro el espacio? –

+0

Acabo de editar la respuesta mientras hacía ese comentario. Creo que las barras son el problema. Esto debería ayudar a reemplazar esos caracteres: http://www.intelliadmin.com/index.php/2007/02/create-a-date-and-time-stamp-in-your-batch-files/ – Kapep

+0

sigue obteniendo el mismo problema –

7

%time% es la variable de tiempo
%computername% es la variable para el nombre del equipo
%username% es la variable para el nombre de usuario.

Debería poder utilizarlos para obtener todos los datos que necesita para nombrar el archivo.

+2

La fecha y la hora en sus formatos predeterminados no son buenas para los nombres de archivo. Puede usar el modificador tilde "~" para formatearlos. http://www.dostips.com/DtTipsStringManipulation.php –

+1

Puede ejecutar "set" para ver todas las variables de entorno que están disponibles para usted. – mfinni

Cuestiones relacionadas