Autor
|
Tema: bloc de notas con archivos (Leído 16,644 veces)
|
The Last Hero
Desconectado
Mensajes: 40
Lucha hasta el final
|
Muy buenas foro Tenia una pregunta en batch a ver si podeis sacarme la duda. Resulta que quiero saber cuantos archivos .dll y .exe hay en el directorio windows y pense en esto: count(glob('c:\windows/*.exe'));>archivo.txt Tambien pense en un for como este: For %%r in ( "c:\windows\*.exe") Do (if exist "%%a" (ECHO/Archivos en windows:"%%a" > Archivo.txt & ECHO$"%%r") Pero resulta que al crear el archivo.txt no me aparecen los nombres de los archivos de windows, incluso en el segundo caso no aparecen -_- Me gustaria saber como puedo hacer un codigo que saque los archivos ejecutables y librerias dinamicas que hay en windows y los imprima en un bloc de notas La verdad es que hace mucho que no tocaba el batch Bueno espero vuestras respuestas y muchas gracias por adelantado
|
|
|
En línea
|
|
|
|
SuperDraco
Desconectado
Mensajes: 2.505
Crew Dragon
|
hola he visto fallos, pero aparte hay uno muy grande xD, en for defines la variable como "%%r" pero luego intentas hacer el echo con la variable "%%a" la cual no existe porque no la has definido xD bueno, te lo resuelvo! que pa una vez que puedo hacerlo... echo+ /Archivos en windows: > Archivo.txt for /f "tokens=*" %%r in (' dir /B %WINDIR%\*.exe' ) do Echo+ " %%r" >> Archivo.txt type archivo.txt
Modificalo a tu gusto! No se si es así como lo quieres, pero queda así: Como hace mucho q no usas batch, te recuerdo por si acaso que "dir /b" solo muestra lo que hay en el directorio de windows, pon : "dir /b /S" para buscar tambien en los subdirectorios... Saludos!
|
|
« Última modificación: 20 Marzo 2011, 20:44 pm por pitoloko »
|
En línea
|
No he vuelto, solo estoy de paso.
|
|
|
The Last Hero
Desconectado
Mensajes: 40
Lucha hasta el final
|
jaja lo del fallo gordo,es que habia otra secuencia con el %%a y claro como queria hacer otra identica pues copie y pegue, y claro se me paso sustituir todas las "a" y se quedo una Por cierto:para carpetas¿como seria? De todas maneras muchas gracias pitoloko,que ahora que estoy con java he dejado un poco de lado el batch, pero me has recordado lo de los tokens tambien Muchas gracias amigo y sigue asi. Cuidate
|
|
« Última modificación: 20 Marzo 2011, 22:18 pm por The Last Hero »
|
En línea
|
|
|
|
SuperDraco
Desconectado
Mensajes: 2.505
Crew Dragon
|
mmm para carpetas, especificame un poco más como lo quieres, aunque creo que te he entendido (Para cada carpeta). creo que lo que tu quieres es esto: Set Lista=" %USERPROFILE%\Desktop\Archivo.txt" echo+ /Archivos en windows: > %lista% :Find for /f "tokens=*" %%a in (' dir /B /S %WINDIR%\ /A:D' ) do ( ) :Print echo+ /Archivos en %carpeta%: >> %lista% echo No hay archivos >> %lista% ) echo+ /Archivos en %Carpeta%: >> %lista% dir /B %Carpeta%\*.exe >> %lista% ) :END start /b notepad %lista%
(Me ha costado un poco acabarlo ) El resultado es esto: /Archivos en C:\Windows\Downloaded Installations: No hay archivos /Archivos en C:\Windows\Downloaded Program Files: No hay archivos /Archivos en C:\Windows\ehome: ehexthost.exe ehmsas.exe ehprivjob.exe ehrec.exe ehrecvr.exe ehsched.exe ehshell.exe ehtray.exe ehvid.exe loadmxf.exe mcGlidHost.exe McrMgr.exe mcspad.exe mcupdate.exe Mcx2Prov.exe McxTask.exe MediaCenterWebLauncher.exe RegisterMCEApp.exe WTVConverter.exe /Archivos en C:\Windows\en-US: No hay archivos Si no quieres que imprima nada cuando no encuentre archivos, cambia todo el trozo de : Print, así :Print echo+ /Archivos en %Carpeta%: >> %lista% dir /B %Carpeta%\*.exe >> %lista% )
PD: La lista se guarda en el escritorio (Cambialo): Set Lista="%USERPROFILE%\Desktop\Archivo.txt"
PD2: El código tenía un fallo en las comillas, no buscaba en todas las carpetas, ya esta arreglado y posteado bien . SALUDOSSS
|
|
« Última modificación: 21 Marzo 2011, 12:03 pm por pitoloko »
|
En línea
|
No he vuelto, solo estoy de paso.
|
|
|
The Last Hero
Desconectado
Mensajes: 40
Lucha hasta el final
|
Hola de nuevo pitolokoLo que queria era saber las carpetas que hay en un directorio, por ejemplo: En windows-->drivers,system32,syswow64,Cursors... Muchas gracias por todo pitoloko y un saludo
|
|
|
En línea
|
|
|
|
SuperDraco
Desconectado
Mensajes: 2.505
Crew Dragon
|
De nada, pues ya sabes "/A:D" es para las carpetas, modifica el batch un poco Saludos!
|
|
|
En línea
|
No he vuelto, solo estoy de paso.
|
|
|
The Last Hero
Desconectado
Mensajes: 40
Lucha hasta el final
|
De nuevo yo Solo queria darte las gracias y la paciencia que has tenido,solo tengo una cosas mas a ver si puedes ayudarme. Cuando escribo el codigo e intento poner otro es decir: @echo off echo+ /Archivos en windows: > Archivo.txt for /f "tokens=*" %%r in ('dir /B %WINDIR%
\*.exe,*.dll') do Echo+ "%%r" >> Archivo.txt type archivo.txt
echo+ /Archivos en system32: > Archivo.txt for /f "tokens=*" %%s in ('dir /B %system%
\*.exe,*.dll') do Echo+ "%%s" > Archivo.txt type archivo.txt Me salen en el bloc de notas:archivos de system32 y nada mas.¿Como podria hacer para que me imprima tanto los archivos de system32 como los de windows,es decir, que en el bloc de notas salgan los de windows,luego los de system32, asi sucesivamente para todo lo que yo quiera? Bueno muchas gracias de nuevo y tambien por tu paciencia Saludos
|
|
|
En línea
|
|
|
|
SuperDraco
Desconectado
Mensajes: 2.505
Crew Dragon
|
No existe ninguna variable de entorno llamada %system% '¬¬ http://en.wikipedia.org/wiki/Environment_variableY si solo pones un " >" estás reemplazando el "archivo.txt", osea, tienes que poner 2 " >>" para seguir escribiendo debajo del archivo. echo+ /Archivos en windows: > Archivo.txt for /f "tokens=*" %%r in (' dir /B %WINDIR%\*.exe' ) do Echo+ " %%r" >> Archivo.txt echo+ /Archivos en system32: >> Archivo.txt for /f "tokens=*" %%r in (' dir /B %Windir%\system32\*.exe' ) do Echo+ " %%r" >> Archivo.txt start /b notepad archivo.txt
Si las carpetas las vas a poner manualmente pues pones " %Windir%\NOMBRE_DE_LA_CARPETA" y listo, en cambio, si quieres que se haga automáticamente y con TODAS las carpetas/subcarpetas de "c:\windows\*", pues lo comentas y ya me repaso mañana el código xDDD Ah, se me olvidaba lo del *.exe,*.dll creo que no puedes buscar más de una extension en el mismo comando, pero no se, a ver si nos saca de dudas Leo. saludos.
|
|
« Última modificación: 21 Marzo 2011, 22:05 pm por pitoloko »
|
En línea
|
No he vuelto, solo estoy de paso.
|
|
|
The Last Hero
Desconectado
Mensajes: 40
Lucha hasta el final
|
La verdad es que el codigo esta bien, no me da error ni nada por el estilo. Si tu consideras que este tema esta siendo muy largo avisame y lo damos por solucionado, a mi no me importa Solo que quiero quitarme todas las dudas que tengo. Hay una cosa:tengo hecho un for que imprime que archivos se encuentran en un directorio,y los imprime en el bloc de notas archivo.txt, pero al abrirlo,solo me sale nombres de los archivos de windows y de system32, pero no me aparece el primer for que es el que crea el archivo, y que indica que archivos estan en un directorio concreto, si no me he explicado bien dimelo y te lo comento mas profundamente. Por cierto¿un archivo por ejemplo, de un virus, puede eliminarse si se entra en el modo a prueba de fallos, elimine su proceso en memoria y haga esta secuencia: Del /f /q /i %homdrive%\archivo.exe? Como siempre muchas gracias por tu paciencia y consejos Un saludo
|
|
« Última modificación: 21 Marzo 2011, 23:31 pm por The Last Hero »
|
En línea
|
|
|
|
SuperDraco
Desconectado
Mensajes: 2.505
Crew Dragon
|
Hombre, es que para estas cosas con una explicación no basta xD si no se ve donde está el error,así que mejor pega aquí el código (ENTERO) para que podamos revisarlo yo y los demás (No te creas que yo se mucho...). No tengo ningún problema en "inspeccionar" tus códigos, Batch es algo que me gusta mucho usar y poder ayudar no te preocupes ^^ Respecto a lo de: Del /f /q /i %homedrive%\archivo.exe La /i no se porque la has puesto , deduzco que intentas definir el atributo del archivo, Entonces sería así: Del /f /q /A i %homedrive%\archivo.exe Y SI, con DEL borras el archivo del discoduro, sin pasar por la papelera de reciclaje. Así que no creo que hubiese una posible reinfección del virus, a menos que sea polimorfo o algo de eso o un rootkit, no se de eso ya no entiendo xD pero tengo entendido que cuando intentas eliminarlo, se vuelve a crear el virus en otra parte del discoduro, porque tiene claves en el registro, así que deberías borrar tambien esas claves (Si tuviera) con: Por cierto, te miras la ayuda de los comandos, ¿verdad?
|
|
« Última modificación: 22 Marzo 2011, 00:07 am por pitoloko »
|
En línea
|
No he vuelto, solo estoy de paso.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Bloc de Notas V2.0 UPDATE 08/09/10
« 1 2 »
.NET (C#, VB.NET, ASP)
|
Braayhaan
|
12
|
11,653
|
14 Mayo 2011, 21:58 pm
por Segurida
|
|
|
Bloc de notas en Linux, y...
GNU/Linux
|
B€T€B€
|
4
|
24,206
|
17 Diciembre 2010, 01:03 am
por B€T€B€
|
|
|
Eliminar caracter de un bloc de notas
« 1 2 »
Scripting
|
alex698
|
10
|
11,267
|
6 Julio 2011, 10:54 am
por 0x5d
|
|
|
Aplicaciones .BAT bloc de notas
Programación General
|
jimytron
|
1
|
3,529
|
22 Febrero 2012, 09:18 am
por HdM
|
|
|
[Ayuda] Guardar textbox.text en bloc de notas
.NET (C#, VB.NET, ASP)
|
S_M_A_C_K
|
2
|
4,077
|
1 Noviembre 2012, 16:33 pm
por S_M_A_C_K
|
|