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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Personalizar Batch
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: 1 2 [3] 4 Ir Abajo Respuesta Imprimir
Autor Tema: Personalizar Batch  (Leído 17,747 veces)
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Personalizar Batch
« Respuesta #20 en: 20 Septiembre 2013, 19:01 pm »

Vamos a ver, Pedrín-2, me pediste que no me enfade pero es que hay algo que me lleva sacando de quizio en este tema...

¿Esta orden entiendes para que sirve?:
Citar
Código:
set directorio=%1

Si no lo entiendes, ¿Entonces porque la usas en todos los ejemplos que has dado desde un principio?.

Dijiste que alguien te hizo el script, así que yo supuse que esa orden la puso el que te lo codeó, y que la puso con la intención que debe tener, llamar al script desde la consola, pero veo que no es así ni que tampoco tienes intenciones de usarlo así.

En mi último script, reemplaza esta linea:
Citar
Código
  1. Set "DirPath=%*"

Por esta otras:
Código
  1. Set /P "DirPath=Nombre de Carpeta:"

Saludos!


En línea



Pédrin-2

Desconectado Desconectado

Mensajes: 171



Ver Perfil
Re: Personalizar Batch
« Respuesta #21 en: 20 Septiembre 2013, 19:25 pm »

Ya estaria si no fuese que la carpeta buena, (la que tiene la fecha y nombre ) se crea dentro de otra.
y te cuento  por encima la historia:
Me dieron este archivo reg:

Código:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Folder\shell\Nueva_carpeta]
@="Crear subcarpeta"

[HKEY_CLASSES_ROOT\Folder\shell\Nueva_carpeta\command]
@="\"C:\\BAT\\Carpeta.bat\"\"%1\""


Este bat:

Código:
echo off
set guion=-
for /f "tokens=1,2,3 delims=/" %%i in ('date /t') do (
set ano=%%k
set dia=%%i
set mes=%%j)
set cadena=%ano%%guion%%mes%%guion%%dia%
set directorio=%1
start cmd.exe /c "CD %directorio% && Md """%cadena%""""


y esta guia  txt:

Código:
Crea en tu disco C una carpeta llamada "BAT" (sin comillas) y aloja allí el fichero Carpeta.bat. Seguidamente haz doble clic sobre Carpeta.reg, pulsa Sí, Aceptar. Verás que a partir de entonces al hacer clic con el botón derecho del ratón sobre cualquier carpeta te aparece una nueva entrada llamada "Crear subcarpeta", que al ser pulsada creará una carpeta dentro de la carpeta seleccionada, y con la fecha actual como nombre ya definido, tal y como pedías.

Espero que te sirva.


Pero ocurrio que descubri, que al hacerle click me la hacia dentro de esa misma carpeta donde estaba el batch.
Entonces puse un acc directo y queria hacer lo mismo, asi al abrirse la carpeta no la tendria que ir buscarla, por eso todo este calvario.

Espero que me hayas entendido

Madre mia cuando abra un hilo preguntando algo no va haber nadie que me conteste   :-[ :-[

Un saludo


En línea

Pido disculpas por las pifias que pueda decir. el unico fin es ayudar y aprender.
        Un Saludo
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Personalizar Batch
« Respuesta #22 en: 20 Septiembre 2013, 19:34 pm »

Creo que ahora entiendo tus intenciones.

¿Quieres que la carpeta "Cliente" se cree en el mismo directorio desde donde abres el script , no?

Pues deja esta parte del último script así:

Código
  1. @Echo OFF & Setlocal EnableDelayedExpansion
  2.  
  3. Set /P "Name=Nombre de Cliente:"
  4. Call :ToWordCase "%Name%"
  5.  
  6. Set "FullPath=%CD%\%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%%WordCaseName%"
  7.  
  8. MKDIR "%FullPath%" && (Explorer "%FullPath%")
  9.  
  10. Pause&Exit

PD: Por si vas a pregunarlo: La carpeta no se puede abrir en la misma instancia del explorer, es necesario abrir un nuevo proceso del explorer xD.

Saludos
« Última modificación: 20 Septiembre 2013, 19:36 pm por EleKtro H@cker » En línea



Pédrin-2

Desconectado Desconectado

Mensajes: 171



Ver Perfil
Re: Personalizar Batch
« Respuesta #23 en: 20 Septiembre 2013, 20:52 pm »

Je, je, mo me mandes a t.......... 
pero falta un detallin.
Si escribes en minusculas  100  x  100  perfecto
el problemilla viene cuando escribes en mayusculas, no respeta y sale todo en mayusculas.    :silbar:

Gracias por entenderlo

Un saludo

En línea

Pido disculpas por las pifias que pueda decir. el unico fin es ayudar y aprender.
        Un Saludo
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Personalizar Batch
« Respuesta #24 en: 20 Septiembre 2013, 21:45 pm »

el problemilla viene cuando escribes en mayusculas, no respeta y sale todo en mayusculas.    :silbar:

Cierto, se me habia pasado ese detalle.

Pero es muy facil de solucionar, puedes hacerlo tu mismo, te doy una pista muy grande:

Citar
Código:
 :ToWordCase
...
If "!Char!" EQU "a" (Set "X=%Alphabet:~0,1%")
...

Duplica las variables, pero tienes que poner una cosa en mayúscula...

Saludos
En línea



Pédrin-2

Desconectado Desconectado

Mensajes: 171



Ver Perfil
Re: Personalizar Batch
« Respuesta #25 en: 20 Septiembre 2013, 23:32 pm »

Pues no es tan facil como dices he probado de todo, poniendo codigos en todas las lineas, duplicando todo el contenido de la etiqueta :ToWordCase
cambiando mayusculas, minusculas ,numeros etc y sigo peor
Código:
Set "Alphabet=ABCDEFGHIJKLMNOPQRSTUVWXYZ"    
por       
abcdefghijklmnopqrstuvwxyz

    If "!Char!" EQU "A" (Set "X=%Alphabet:~0,1%")   solo mayuscula


   If "!Char!" EQU "A" (Set "X=%Alphabet:~26,1%") del 26 en adelente


En línea

Pido disculpas por las pifias que pueda decir. el unico fin es ayudar y aprender.
        Un Saludo
Pédrin-2

Desconectado Desconectado

Mensajes: 171



Ver Perfil
Re: Personalizar Batch
« Respuesta #26 en: 20 Septiembre 2013, 23:33 pm »

Quisiera aprender, pero para llegar al nivel 10 estoy mu verde.
Que barbaridad


Un Saludo
En línea

Pido disculpas por las pifias que pueda decir. el unico fin es ayudar y aprender.
        Un Saludo
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Personalizar Batch
« Respuesta #27 en: 21 Septiembre 2013, 00:05 am »

Solución:

Código:
If /I "!Char!" EQU "a" (Set "X=%Alphabet:~0,1%")
If /I "!Char!" EQU "b" (Set "X=%Alphabet:~1,1%")

El switch "/I" es para no distinguir entre mayusculas o minusculas, así que en verdad no tienes que duplicar las comparaciones.

Código:
IF /?


De la forma en la que tú lo estás intentando hacer, lo que debiste hacer es esto:

Código:
 If "!Char!" EQU "a" (Set "X=%Alphabet:~0,1%")
 If "!Char!" EQU "A" (Set "X=%Alphabet:~0,1%")

 If "!Char!" EQU "b" (Set "X=%Alphabet:~1,1%")
 If "!Char!" EQU "B" (Set "X=%Alphabet:~1,1%")

etc...

Agregar la comparación del caracter en UPPERCASE, no modifiques el índice del substring (ah no ser que le hayas añadido más caracteres a la variable del alfabeto, claro...)

Hazlo de la manera que prefieras, odo lo demás lo dejas igual como estaba xd

Saludos!
« Última modificación: 21 Septiembre 2013, 00:10 am por EleKtro H@cker » En línea



Pédrin-2

Desconectado Desconectado

Mensajes: 171



Ver Perfil
Re: Personalizar Batch
« Respuesta #28 en: 21 Septiembre 2013, 00:38 am »

sigo igual, le he puesto el switch y sigue igual te subo el code

No era como tu dices
tal como tenia el codigo copie todas las variables y las pege  acontinuacion no las intercale 1º con las letras en mayusculas, 2º caumentando la numeracion desde el 26

Código:
@Echo OFF & Setlocal EnableDelayedExpansion
 
Set /P "Name=Nombre de Cliente:"
Call :ToWordCase "%Name%"
 
Set "FullPath=%CD%\%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%%WordCaseName%"
 
MKDIR "%FullPath%" && (Explorer "%FullPath%")
 
Pause&Exit
 
 :ToWordCase
Set "Alphabet=ABCDEFGHIJKLMNOPQRSTUVWXYZ"
For %%# in (%~1) do (
Set "Word=%%#"
Set "Char=!Word:~0,1!"
If /I "!Char!" EQU "a" (Set "X=%Alphabet:~0,1%")
If /I "!Char!" EQU "b" (Set "X=%Alphabet:~1,1%")
If /I "!Char!" EQU "c" (Set "X=%Alphabet:~2,1%")
If /I "!Char!" EQU "d" (Set "X=%Alphabet:~3,1%")
If /I "!Char!" EQU "e" (Set "X=%Alphabet:~4,1%")
If /I "!Char!" EQU "f" (Set "X=%Alphabet:~5,1%")
If /I "!Char!" EQU "g" (Set "X=%Alphabet:~6,1%")
If /I "!Char!" EQU "h" (Set "X=%Alphabet:~7,1%")
If /I "!Char!" EQU "i" (Set "X=%Alphabet:~8,1%")
If /I "!Char!" EQU "j" (Set "X=%Alphabet:~9,1%")
If /I "!Char!" EQU "k" (Set "X=%Alphabet:~10,1%")
If /I "!Char!" EQU "l" (Set "X=%Alphabet:~11,1%")
If /I "!Char!" EQU "m" (Set "X=%Alphabet:~12,1%")
If /I "!Char!" EQU "n" (Set "X=%Alphabet:~13,1%")
If /I "!Char!" EQU "o" (Set "X=%Alphabet:~14,1%")
If /I "!Char!" EQU "p" (Set "X=%Alphabet:~15,1%")
If /I "!Char!" EQU "q" (Set "X=%Alphabet:~16,1%")
If /I "!Char!" EQU "r" (Set "X=%Alphabet:~17,1%")
If /I "!Char!" EQU "s" (Set "X=%Alphabet:~18,1%")
If /I "!Char!" EQU "t" (Set "X=%Alphabet:~19,1%")
If /I "!Char!" EQU "u" (Set "X=%Alphabet:~20,1%")
If /I "!Char!" EQU "v" (Set "X=%Alphabet:~21,1%")
If /I "!Char!" EQU "w" (Set "X=%Alphabet:~22,1%")
If /I "!Char!" EQU "x" (Set "X=%Alphabet:~23,1%")
If /I "!Char!" EQU "y" (Set "X=%Alphabet:~24,1%")
    If /I "!Char!" EQU "z" (Set "X=%Alphabet:~25,1%")
Set "WordCaseName=!WordCaseName! !X!!Word:~1!"
)

Citar
Código:
IF /?

esto no lo entiendo
En línea

Pido disculpas por las pifias que pueda decir. el unico fin es ayudar y aprender.
        Un Saludo
Pédrin-2

Desconectado Desconectado

Mensajes: 171



Ver Perfil
Re: Personalizar Batch
« Respuesta #29 en: 23 Septiembre 2013, 13:46 pm »

Por favor EleKtro H@cker, no me dejes asi,    :-\

Un saludo
En línea

Pido disculpas por las pifias que pueda decir. el unico fin es ayudar y aprender.
        Un Saludo
Páginas: 1 2 [3] 4 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Personalizar aplicacion
Programación Visual Basic
bautistasbr 3 1,522 Último mensaje 30 Agosto 2006, 21:38 pm
por NYlOn
Personalizar error
Programación Visual Basic
dimitrix 1 1,547 Último mensaje 22 Enero 2007, 01:18 am
por Syphroot
personalizar datagrid vb6.0
Programación Visual Basic
choquito 2 7,076 Último mensaje 2 Abril 2007, 17:41 pm
por choquito
Personalizar DVD
Multimedia
Sri 0 2,057 Último mensaje 23 Diciembre 2007, 19:19 pm
por Sri
[Batch] Insertar un batch dentro de un batch que fabrique un .txt
Scripting
$pedrojo2704 2 6,318 Último mensaje 23 Agosto 2012, 10:08 am
por $pedrojo2704
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines