| 
	
		|  Autor | Tema: Buscar archivo. batch [Solucionado]  (Leído 8,045 veces) |  
	| 
			| 
					
						| Dany3j 
								
								 Desconectado 
								Mensajes: 142
								
								 
								Echo "Aprendiendo Batch."
								
								
								
								
								
								   | 
 
Hello. Como busco un archivo.? en el disco C: y abro la carpeta en la que esta o el archivo.? Por ejemplo. que al ejecutar el archivo bat me pida el nombre del archivo y al presionar enter lo busque en todo el disco y abra la carpeta. Y si no que me diga el archivo no existe.   
 
 |  
						| 
								|  |  
								| « Última modificación: 28 Julio 2011, 20:56 pm por Leo Gutiérrez. » |  En línea | 
 
 "Pensando en Batch" XD |  |  |  | 
			| 
					
						| leogtz 
								. . .. ... ..... ........ ............. ..................... 
								Colaborador
								      Desconectado 
								Mensajes: 3.069
								
								 
								/^$/
								
								
								
								
								
								     | 
 
Esto me funciona bien: :menuset /p "nombre=Nombre del  archivo : " for /f "tokens=*" %% _ in ( 'dir  /b /s /a-d "%nombre% "') do ():showecho Archivo encontrado en : %~dp1explorer %~dp1
 Ó así mejor: :menuset /p "nombre=Nombre del  archivo : " for /f "tokens=*" %% _ in ( 'dir  /b /s /a-d "%nombre% "') do ():showecho Archivo encontrado en : %~dp1explorer /select,%~dpnx1
 En el segundo código hice una actualización a la línea del explorer :menuset /p "nombre=Nombre del  archivo : "for /r %% _ in ( *) do if  "%% ~nx_"=="%nombre% " explorer /select,"%% ~dpnx_
 
 |  
						| 
								|  |  
								| « Última modificación: 27 Julio 2011, 23:50 pm por Leo Gutiérrez. » |  En línea | 
 
 |  |  |  | 
			| 
					
						| SuperDraco 
								       
								
								 Desconectado 
								Mensajes: 2.505
								
								 
								Crew Dragon
								
								
								
								
								
								   | 
 
Advertencia - mientras estabas leyendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.   
 fácil      Rem By PiToLoKoRem Visita: Foro.ElHacker.Net     :Selectcls echo ¨Que archivo quieres buscar?  	echo. Porfavor, introduce el nombre del  archivo...)     :Search clsecho Buscando "%FILE% " en el disco "%Systemdrive% "...Dir /B /S "%systemdrive% \%FILE% " > "%temp% \file.txt"	cls	Type "%temp%\file.txt"	For /F "Tokens=*" %%a in ( 'Type "%temp% \file.txt"') do (	"explorer.exe" /select,"%%a"  )	cls	echo No se encuentra el archivo "%FILE% ")    echo Pulsa una tecla para volver al menu...
 |  
						| 
								|  |  
								| « Última modificación: 28 Julio 2011, 00:01 am por pitoloko » |  En línea | 
 
 No he vuelto, solo estoy de paso. |  |  |  | 
			| 
					
						| Dany3j 
								
								 Desconectado 
								Mensajes: 142
								
								 
								Echo "Aprendiendo Batch."
								
								
								
								
								
								   | 
 
Leo que funcion tiene goto:eof  He utilizado tu codigo pitoloko.  pero no me esta abriendo el archivo file.txt en el que esta guardando lo encontrado solo me abre la ruta donde esta el archivo buscado |  
						| 
								|  |  
								| « Última modificación: 27 Julio 2011, 23:59 pm por dany3j » |  En línea | 
 
 "Pensando en Batch" XD |  |  |  | 
			| 
					
						| SuperDraco 
								       
								
								 Desconectado 
								Mensajes: 2.505
								
								 
								Crew Dragon
								
								
								
								
								
								   | 
 
que funcion tiene goto:eof Es una etiqueta para terminar la función del proceso. Primero se llama a la función, con "CALL", y el call al llegar a la etiqueta "Goto:EOF", vuelve a donde la llamaron, osea, adentro del for, en vez de seguir código hacia abajo... Seguro que Leo lo explica mucho mejor, pero asi tienes 2 respuestas ale xD |  
						| 
								|  |  
								|  |  En línea | 
 
 No he vuelto, solo estoy de paso. |  |  |  | 
			| 
					
						| leogtz 
								. . .. ... ..... ........ ............. ..................... 
								Colaborador
								      Desconectado 
								Mensajes: 3.069
								
								 
								/^$/
								
								
								
								
								
								     | 
 
eof es una etiqueta "especial", significa "END of FILE" y sirve para salir de un ámbito, yo lo utilizo para salir de un "ámbito de etiqueta" y así volver a donde fue llamada la función, también sirve para salir del archivo. Ejemplo: rem Supongamos que quiero llamar a la etiqueta "hola" y quiero que regrese!, no que se siga con las demás etiquetas: :hola :adios 
 Y la salida del batch da: C:\Users\leo>code.cmdHola mundo!
 Adios!
 Bye
 Hola mundo!
 Adios!
 
 C:\Users\leo>
 No pasa lo que yo quiero, pero si agrego goto:eof a las etiquetas: C:\Users\leo>code.cmdHola mundo!
 Bye
 
 C:\Users\leo>
 Ahora sí pasa lo que quiero, porque se llama a :hola, y luego regresa a donde fue llamado, y luego sale por el goto:eof después del call. Saludos. |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| leogtz 
								. . .. ... ..... ........ ............. ..................... 
								Colaborador
								      Desconectado 
								Mensajes: 3.069
								
								 
								/^$/
								
								
								
								
								
								     | 
 
He utilizado tu codigo pitoloko. pero no me esta abriendo el archivo file.txt en el que esta guardando lo encontrado solo me abre la ruta donde esta el archivo buscado
 Tu pediste qu abriera la carpeta, no el archivo, checa tu primer mensaje. |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| SuperDraco 
								       
								
								 Desconectado 
								Mensajes: 2.505
								
								 
								Crew Dragon
								
								
								
								
								
								   | 
 
Tu pediste qu abriera la carpeta, no el archivo, checa tu primer mensaje.
 eso, eso!    aunque si con "abrir" te refieres a "mostrar" el "file.txt" con el comando type , entonces si, me habia comido unas comillas, a mi me funcionaba porque tengo el nombre sin espacios,pero tu pc no se, ya está arreglado. saludosss PD: mi script es parecido al de Leo , algo más simple y también funciona, pero no es mejor!! el de leo no necesita guardar en un archivo, usa %~dp1 , está más elaborado. si se me hubiera ocurrido a mi, casi parecería un plagio jaja un saludo!  |  
						| 
								|  |  
								| « Última modificación: 28 Julio 2011, 00:10 am por pitoloko » |  En línea | 
 
 No he vuelto, solo estoy de paso. |  |  |  | 
			| 
					
						| Dany3j 
								
								 Desconectado 
								Mensajes: 142
								
								 
								Echo "Aprendiendo Batch."
								
								
								
								
								
								   | 
 
ok jajajaja lo que pasa que pitoloko  le puso esa función y me pareció extraño que la tuviera, y no la ejecutara aunque si abre la ruta el file.txt  no es necesario igual ya esta solucionado... mil GRacias de nuevo A los dos y por la explicacion del  goto:eof  ya en varias partes lo había visto y no entendía Damos por solucionado.    |  
						| 
								|  |  
								|  |  En línea | 
 
 "Pensando en Batch" XD |  |  |  | 
			| 
					
						| leogtz 
								. . .. ... ..... ........ ............. ..................... 
								Colaborador
								      Desconectado 
								Mensajes: 3.069
								
								 
								/^$/
								
								
								
								
								
								     | 
 
Bueno, aquí les dejo esta solución en Powershell, ya es tiempo de que vayamos volteando hacia él: $file = Read-Host "Archivo a buscar : "$file.fPush-Location \foreach ($archivo in Get-ChildItem -path \users\leo\ -recurse -force){	if($archivo.name -eq "$file")	{		explorer $archivo.directory		Pop-Location		Exit-PSSession	}} 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | Batch para buscar y borrar un archivo
							« 1 2 » Scripting
 | analca3 | 18 | 23,494 |  3 Noviembre 2009, 16:49 pm por leogtz
 |  
						|   |   | [Solucionado][Batch] Find (buscar archivos por fecha) y tuberias Scripting
 | Baranoides | 2 | 15,566 |  13 Enero 2012, 21:05 pm por Baranoides
 |  
						|   |   | [BATCH] Como buscar y eliminar una linea de texto (Solucionado) Scripting
 | RS_cool | 6 | 16,166 |  17 Abril 2012, 22:49 pm por Eleкtro
 |  
						|   |   | [Solucionado] [BATCH] Buscar archivo en disco duro y eliminarlo. Scripting
 | dimoca | 1 | 2,888 |  13 Abril 2014, 05:42 am por dimoca
 |  
						|   |   | [BATCH] Buscar y ejecutar el archivo encontrado .bat Scripting
 | rockhevy1000 | 5 | 5,009 |  25 Octubre 2015, 07:11 am por Eleкtro
 |    |