Autor
|
Tema: Copiar un archivo al interior de todas las carpetas (Leído 7,904 veces)
|
GORSO
Desconectado
Mensajes: 8
|
Hola, querria saber si me podríais ayudar a crear un código cmd o for para la siguiente funcion: Tengo una carpeta llamada proyecto; dentro de esa tengo 2 carpetas llamadas a y b; dentro de la carpeta a, tengo un archivo llamado leeme.txt con atributos; dentro de la carpeta b tengo un monton de carpetas. Ejemplo: Proyecto carpeta a carpeta b leeme.txt carpetas ba,ce, to Pues lo que qioero es hacer un bat, que al ejecutarlo, copie el leeme.txt al interior de las carpetas del la carpeta b, osea, en el ejemplo, a las carpetas ba, ce, to etc... Eso si, mediante variables o algo tipo: copy leeme.txt ..\b\todaslascarpetasqueempiezenpor a, b, c, d..... pero al dar con una carpeta que no existe, que no le cree, sno, me haria un churro de carpetas :s Existe algo para hacer eso? Gracias de antemano.
|
|
|
En línea
|
|
|
|
0x0309
Desconectado
Mensajes: 215
|
Mira no tengo ganas de ensayar batch pero creo que algo así serviría: setlocal enableextensions set directorio=c:\Proyecto pushd %directorio% for /r /d %%a in (.\b) do copy "%directorio%\a\leeme.txt" .\ popd endlocal
|
|
« Última modificación: 28 Marzo 2009, 20:35 pm por Leo Gutierrez. »
|
En línea
|
|
|
|
GORSO
Desconectado
Mensajes: 8
|
No me funciona, solo pega el readme en la carpeta de proyecto nada mas. Y el comando "c:\proye...." no lo puedo utilizar, ya que esta en un dispositivo de almacenamiento. tendria que ser a raiz del sitio, tipo ".\" o "..\" Que le pasa a esto, que no me deja postear= lol
|
|
|
En línea
|
|
|
|
0x0309
Desconectado
Mensajes: 215
|
setlocal enableextensions for /f %%a in (".") do set directorio=%%~fa\ pushd "%directorio%\b" for /r /d %%a in (.) do copy /y "%directorio%\a\leeme.txt" "%%a" popd endlocal pause
el bat debe encontrarse en la carpeta Proyecto.
|
|
|
En línea
|
|
|
|
GORSO
Desconectado
Mensajes: 8
|
Wow, xD funciona!!! al menos al 50% xD Copia el readme a todas las carpetas seeeee Graciasssss Lo que pasa es que tiene el otro 50% que lo copia tambien a las subcarpetas, auque no ocupa mucho pero weno, pero si mantubiera los atributos seria ya la caña!! He intentado cambiar el "copy /y" por "attrib +r" pero no se los cambia Si sabes como darle a los archivos estos atributos, o algo........ De todas maneras, gracias, es un buen trabajo, me quitaste mucho de encima, gracias man!!!
|
|
|
En línea
|
|
|
|
netoreto
Desconectado
Mensajes: 2
|
buenas! sé que ha pasado tiempo, pero igual andáis por ahí... ¿se podría copiar ese txt sólo a las carpetas que estén vacías? por ahí he encontrado esto:
for /f «usebackq» %d in («dir /ad/b/s | sort /R») do rd «%d»
para eliminar todas las carpetas vacías, he intentado un "mix", pero nada de nada, es que no tengo ni idea
mil gracias
|
|
|
En línea
|
|
|
|
SuperDraco
Desconectado
Mensajes: 2.505
Crew Dragon
|
hola, deberías haber creado un nuevo tema con tu pregunta, y no revivir uno del año 2009... Si no tienes ni idea, vas a tener que aprender un poquito, pero no te asustes, es un poquito solo. Mezcla vbs + batch. Con un vbs descartas las carpetas que no están vacías, y luego el resultado, con un FOR en batch, copias el texto a las carpetas que están vacías.
"Comprobar_Carpetas_vacias.vbs" Dim objFileSystem, objTheFolder Set objFileSystem = CreateObject("Scripting.FileSystemObject") Set objTheFolder = objFileSystem.GetFolder(wscript.arguments(0)) If objTheFolder.size > 1 then wscript.quit(0) else wscript.quit(1) end if
Si la salida es 0, la carpeta está ocupada. Si la salida es 1, la carpeta está vacía.
Una forma de usar el vbs para tu propósito sería así: REM by PiToLoKo REM Visita Foro.ElHacker.Net :Carpetas vacias For /F "Tokens=*" %%a in (' dir /B /S /A:D "LA_RUTA_DEL_DIRECTORIO"' ) do ( :Comprobar carpeta wscript "Comprobar_Carpetas_vacias.vbs" "%folder%" copy TUTEXTO.txt " %folder%\" )
Saludos.
|
|
|
En línea
|
No he vuelto, solo estoy de paso.
|
|
|
netoreto
Desconectado
Mensajes: 2
|
ayy gracias por la prontísima respuesta, y perdón por revivir algo tan antiguo, la verdad es que me resulta tan útil esto de rellenar directorios vacíos, que no entiendo cómo nadie ha hecho nada antes igual... mañana lo pruebo, que se me acaba la hora del curro por hoy,
gracias otra vez, N.
|
|
|
En línea
|
|
|
|
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
Desconectado
Mensajes: 3.069
/^$/
|
Si se quiere hacer en batch totalmente bastaría con entrar en cada directorio, contar los archivos y si son iguales a 0 que se copie ahí.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Copiar un archivo en todas las subcarpetas
Scripting
|
Gorky
|
2
|
3,747
|
8 Noviembre 2008, 16:36 pm
por Gorky
|
|
|
Crear carpetas todas juntas
Programación Visual Basic
|
Angeldj27
|
8
|
4,640
|
9 Febrero 2009, 20:47 pm
por Angeldj27
|
|
|
[Solucionado][Batch] Copiar Todas las fotos en una carpeta
Scripting
|
Geormarsch
|
2
|
3,824
|
21 Enero 2012, 19:51 pm
por Geormarsch
|
|
|
Copiar un archivo a todas las carpetas [Duda]
Scripting
|
caramel0rar0
|
2
|
3,617
|
30 Enero 2012, 21:57 pm
por caramel0rar0
|
|
|
Copiar un archivo a varias carpetas
Scripting
|
Paco Prieto
|
0
|
2,324
|
18 Febrero 2019, 21:11 pm
por Paco Prieto
|
|