elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [CMD] script copiar y renombrar varios ficheros
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [CMD] script copiar y renombrar varios ficheros  (Leído 1,593 veces)
Mendozak47

Desconectado Desconectado

Mensajes: 1


Ver Perfil
[CMD] script copiar y renombrar varios ficheros
« en: 7 Febrero 2018, 20:14 pm »

Muy buenas a todos! Soy nuevo por aqui y la verdad es que no se como no me he registrado, soy un apasionado de la tecnologia y la informatica en especial. :xD

Bueno, al grano.

Estoy intentado hacer un script sencillo que me coja varios ficheros con diferentes formatos (todos ellos contienen el nombre de mi maquina) y quiero copiar esos ficheros en otra parte con su nombre y formato original añadiendoles la fecha de cuando se realizo esa copia:

Código:
copy C:\ProgramData\MySQL\%computername%* C:\Copias\%date:~-4,4%-%date:~-7,2%-%date:~-10,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%

Pero solo consigo que me copie todos los ficheros en uno solo y sin ningun formato claro. A ver si podeis echarme una mano e indicarme como podria hacerlo. Un saludo!


« Última modificación: 7 Febrero 2018, 20:17 pm por Mendozak47 » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.700



Ver Perfil
Re: [CMD] script copiar y renombrar varios ficheros
« Respuesta #1 en: 7 Febrero 2018, 22:21 pm »

solo consigo que me copie todos los ficheros en uno solo

...por supuesto, estás describiendo precisamente como funciona el comando Copy:   copiar "archivo(s) de origen" a "archivo o directorio destino".

El comando Copy no acepta ningún argumento que te permita insertar un formato de texto al inicio del nombre de cada archivo (de hecho es un poco absurda la idea en la forma que la has planteado, puesto que pretendes que eso suceda sin más, sin darle ninguna indicación especial al comando Copy para que sepa que le estás pidiendo hacer, ni donde insertar el texto si al principio o al final del nombre, no se si me entiendes, no tiene sentido hacer eso), el comando Copy se limita a copiar los archivos encontrados, al destino especificado.

Para hacer lo que pides, necesitas utilizar un búcle de tipo FOR, o FOR /R si quieres realizar una búsqueda recursiva de los archivos. En el bloque de código del FOR renombrarías y copiarias cada archivo, uno a uno.

Te muestro un ejemplo completo:

Código:
@Echo OFF & (CHCP 1252)1>Nul
SetLocal EnableDelayedExpansion

Set "stringFormat=%date:~-4,4%-%date:~-7,2%-%date:~-10,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%"

FOR %%# IN (".\%COMPUTERNAME%*.*") DO (
Set "filename=%stringFormat% %%~n#"
Set "fullpath=%%~dp#!filename!%%~x#"
(Copy /Y "%%~f#" "!fullpath!")1>NUL
Echo:"%%~nx#" -^> "!filename!%%~x#"
)

Pause
Exit /B 0

Saludos!


« Última modificación: 7 Febrero 2018, 22:27 pm por Eleкtro » En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[vbscript]¿como renombrar un grupo de ficheros? SOLUCIONADO
Scripting
tonilogar 8 13,488 Último mensaje 18 Octubre 2009, 01:27 am
por Novlucker
Renombrar varios archivos a la vez.
Windows
|Miguel| 3 2,525 Último mensaje 5 Noviembre 2011, 23:10 pm
por |Miguel|
[batch] copiar y renombrar archivos [resuelto]
Scripting
imlikeabird34 2 8,645 Último mensaje 27 Diciembre 2012, 15:19 pm
por imlikeabird34
Script copiar ficheros escritorio
Scripting
Chr0nic 3 2,068 Último mensaje 10 Mayo 2013, 11:25 am
por Eleкtro
Renombrar ficheros
Windows
drp60343 1 1,344 Último mensaje 19 Agosto 2014, 13:35 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines