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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Reto Batch] It's a dir?
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: 1 2 [3] 4 Ir Abajo Respuesta Imprimir
Autor Tema: [Reto Batch] It's a dir?  (Leído 20,655 veces)
-- KiLiaN --


Desconectado Desconectado

Mensajes: 1.163


Ju Já!!


Ver Perfil
Re: [Reto Batch] It's a dir?
« Respuesta #20 en: 6 Mayo 2012, 12:44 pm »

Aqui esta la mia, mucho mas larga y lenta que con forfiles pero bue..como había visto tu solución no quise hacerlo igual..

Código
  1. @echo off
  2. For /F %%i in ('dir /b /A:D') do (echo 1 %%i >> dire.tmp)
  3. For /F %%e in ('dir /B /A:A') do (echo 0 %%e >> archi.tmp)
  4. type dire.tmp >> archi.tmp | sort
  5. For /F "tokens=1,2" %%f in (archi.tmp) do (
  6. if %%f EQU 1 echo [True] %%g
  7. if %%f EQU 0 echo [False] %%g)
  8. del archi.tmp dire.tmp
  9.  


En línea

Puntoinfinito


Desconectado Desconectado

Mensajes: 919


#! /win/archlinux


Ver Perfil WWW
Re: [Reto Batch] It's a dir?
« Respuesta #21 en: 6 Mayo 2012, 13:16 pm »

Tienes razon xd...
Uo, me he quedado  :o, en ningún tutorial ni manual básico de Batch hablan de "Forfiles" (al menos los que yo he visitado)...
Encima ni que busques por el cmd no hay ni una pista de este comando.
Modo animado ON.


En línea

AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.
-- KiLiaN --


Desconectado Desconectado

Mensajes: 1.163


Ju Já!!


Ver Perfil
Re: [Reto Batch] It's a dir?
« Respuesta #22 en: 7 Mayo 2012, 10:59 am »

Forfiles solo viene en windows7 si tienes xp no te va a funcionar..
En línea

Puntoinfinito


Desconectado Desconectado

Mensajes: 919


#! /win/archlinux


Ver Perfil WWW
Re: [Reto Batch] It's a dir?
« Respuesta #23 en: 7 Mayo 2012, 17:59 pm »

Ou, que fail.. deberia estar todo en todo, para no crear problemas, siempre igual :/
En línea

AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.
NekoOs

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: [Reto Batch] It's a dir?
« Respuesta #24 en: 28 Junio 2012, 04:39 am »

Hora que me doy cuenta tienes razon no es dir.

No te desanimes juan19658 despues de todo si es DIR
Se que ya ha pasado tiempo sin embargo quisiera contribuir al notar que la respuesta no esta expuesta aqui  ;D

La solucion es relativamente sencilla:
Código
  1. DIR /AD /B
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: [Reto Batch] It's a dir?
« Respuesta #25 en: 30 Junio 2012, 19:58 pm »

No estoy en Windows, pero algo así debería funcionar, bueno, quizás :p

Código
  1. cd dir && (
  2.    echo Es dir
  3. ) || (
  4.    echo No es un dir...
  5. )

Saludos.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
NekoOs

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: [Reto Batch] It's a dir?
« Respuesta #26 en: 1 Julio 2012, 08:19 am »

No estoy en Windows, pero algo así debería funcionar, bueno, quizás :p

Código
  1. cd dir && (
  2.    echo Es dir
  3. ) || (
  4.    echo No es un dir...
  5. )

Saludos.
corrígeme si entiendo mal tu code:
Código
  1. cd dir && (             //cd=acceder a                 dir=carpeta llamada dir             &&=si se cumple
  2. echo Es dir             //escribir "es dir"
  3. ) || (                  //sino
  4. echo No es un dir       //escribir "No es un dir"
sin embargo la respuesta en caso de no ser un directorio sera "El sistema no puede hallar la ruta especificada" y obviamente escribiría "No es dir"
Aun asi es una solución  ;) quedaria aun mejor si tan solo agregaras un CLS que borre la respuesta de error del comando CD así:
Código
  1. cd dir && (
  2.    echo Es dir
  3. ) || (
  4.    cls
  5.    echo No es un dir...
  6. )
el único inconveniente es que solo evaluaría una carpeta llamada dir  :-\ y creo que el reto es reconocer solo los directorios contenidos en un lugar especifico. Por tanto insisto que la solución que plantee es mas acertada sin ánimos de crear polémica ni nada  ;D
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: [Reto Batch] It's a dir?
« Respuesta #27 en: 1 Julio 2012, 08:46 am »

Sí, al uso de && y || en batch y en algunos lenguajes script se le llama ejecución condicional, podrías buscar un post que escribí sobre ello.

Código
  1. cd dir 2> nul && (
  2.    echo Es dir.
  3. ) || (
  4.    echo No es dir.
  5. )

Otra sería usar el comando pushd y popd para regresarse luego que ingreses al directorio.

A ver si funciona esto...

Código
  1. pushd dir 2> nul && (
  2.    echo Es dir
  3.    popd
  4. ) || (
  5.   echo No es dir.
  6. )
« Última modificación: 1 Julio 2012, 08:48 am por Leo Gutiérrez. » En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Binary_Death

Desconectado Desconectado

Mensajes: 214



Ver Perfil
Re: [Reto Batch] It's a dir?
« Respuesta #28 en: 22 Julio 2012, 00:00 am »

Pues aquí mi solución:

Código:
@Echo Off
set/p "dpath=Path >> "
for /f "tokens=*" %%_ in ('dir /b "%dpath%"') do (
1>nul 2>&1, (dir /b /a:d "%dpath%" | findstr /r /i "^%%_$") && (
echo: TRUE %%_
) || (
echo: FALSE %%_
)
)
pause 1>nul & exit

Con fomato similar a la imagen de ejemplo.
En línea

lufalas

Desconectado Desconectado

Mensajes: 7


/workspace/


Ver Perfil
Re: [Reto Batch] It's a dir?
« Respuesta #29 en: 30 Marzo 2014, 01:58 am »

Código
  1. @echo off
  2. forfiles /p %1 /c "cmd /c echo @file @isdir"
  3. pause 1>nul

Asumiendo que se le proporciona la ruta por parámetro.

Tengo que averiguar como hacer para que los nombres aparezcan sin dobles comillas.

Happy solving!
En línea

Páginas: 1 2 [3] 4 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Reto Batch] IsFibonacciNumber (79137913) « 1 2 »
Scripting
Eleкtro 14 8,204 Último mensaje 22 Julio 2012, 03:00 am
por Binary_Death
[Reto Batch] Letras aleatorias
Scripting
ELVJop 4 7,624 Último mensaje 23 Julio 2012, 09:00 am
por Binary_Death
[Reto Batch] Hex2Dec Batch Command « 1 2 »
Scripting
BatchianoISpyxolo 15 8,750 Último mensaje 22 Julio 2012, 06:00 am
por Binary_Death
[Reto Batch] Variaciones con repetición,con 26 elementos [abecedario inglés]
Scripting
Eleкtro 9 7,374 Último mensaje 17 Julio 2012, 19:16 pm
por Binary_Death
[Reto Batch]Edad lunar
Scripting
Binary_Death 2 3,478 Último mensaje 9 Julio 2012, 23:45 pm
por Binary_Death
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines