Autor
|
Tema: Personalizar Batch (Leído 17,755 veces)
|
Pédrin-2
Desconectado
Mensajes: 171
|
Hola EleKtro H@cker. lamento que te tenga que molestar tanto, no se que vas ha hacer conmigo, estoy saturado de hacer pruebas y no consigo nada. no consigo que lo que sale en pantalla ( los nombres con la primera letra en mayuscula se copien en la carpeta ) he probado de todo. Me he atascado con esto y no puedo mas te pongo el codigo a ver que se puede hacer: @Echo OFF set/p nombre="Nombre de Cliente:" set nombre=%nombre%
set guion=- for /f "tokens=1,2,3,4,5 delims=/" %%i in ('date /t') do ( set ano=%%k set dia=%%i set mes=%%j Set ToWordCase=%Alphabet% set nombre=%nombre%) set cadena=%ano%%guion%%mes%%guion%%dia% %ToWordCase%%nombre% set directorio=%1
rem copy "%:ToWordCase%" "%cadena%" Setlocal EnableDelayedExpansion Call :ToWordCase "%nombre%" Echo+ Pause&Exit :ToWordCase Set "Alphabet=ABCDEFGHIJKLMNOPQRSTUVWXYZ" For %%# in (%~1) do ( Set "Word=%%#" Set "Char=!Word:~0,1!" If "!Char!" EQU "a" (Set "X=%Alphabet:~0,1%") If "!Char!" EQU "b" (Set "X=%Alphabet:~1,1%") If "!Char!" EQU "c" (Set "X=%Alphabet:~2,1%") If "!Char!" EQU "d" (Set "X=%Alphabet:~3,1%") If "!Char!" EQU "e" (Set "X=%Alphabet:~4,1%") If "!Char!" EQU "f" (Set "X=%Alphabet:~5,1%") If "!Char!" EQU "g" (Set "X=%Alphabet:~6,1%") If "!Char!" EQU "h" (Set "X=%Alphabet:~7,1%") If "!Char!" EQU "i" (Set "X=%Alphabet:~8,1%") If "!Char!" EQU "j" (Set "X=%Alphabet:~9,1%") If "!Char!" EQU "k" (Set "X=%Alphabet:~10,1%") If "!Char!" EQU "l" (Set "X=%Alphabet:~11,1%") If "!Char!" EQU "m" (Set "X=%Alphabet:~12,1%") If "!Char!" EQU "n" (Set "X=%Alphabet:~13,1%") If "!Char!" EQU "o" (Set "X=%Alphabet:~14,1%") If "!Char!" EQU "p" (Set "X=%Alphabet:~15,1%") If "!Char!" EQU "q" (Set "X=%Alphabet:~16,1%") If "!Char!" EQU "r" (Set "X=%Alphabet:~17,1%") If "!Char!" EQU "s" (Set "X=%Alphabet:~18,1%") If "!Char!" EQU "t" (Set "X=%Alphabet:~19,1%") If "!Char!" EQU "u" (Set "X=%Alphabet:~20,1%") If "!Char!" EQU "v" (Set "X=%Alphabet:~21,1%") If "!Char!" EQU "w" (Set "X=%Alphabet:~22,1%") If "!Char!" EQU "x" (Set "X=%Alphabet:~23,1%") If "!Char!" EQU "y" (Set "X=%Alphabet:~24,1%") If "!Char!" EQU "z" (Set "X=%Alphabet:~25,1%") < Nul Call Set /P "=!X!!Word:~1! " )
start cmd.exe /c "CD %directorio% && Md """%cadena%""""
Por favor Paciencia con un novato 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
Mensajes: 9.878
|
Hombre pues claro... si copias el código sin más es obvio que no te va a funcionar, debes ajustarlo a tus necesidades. Sin examinar detalládamente el code, para empezar el code que te puse no almacena el resultado en ninguna variable, imprime el output diréctamente. Creo que no debería ser necesario una explicación sobre como deberías modificarlo, pero bueno: Set "Words=!Words!!X!!Word:~1! " (Dentro de la subrutina) Set ToWordCase=%Alphabet% Ahí no le estás asignando ningún valor, porque no hay ninguna variable que se llame "alphabet" fuera de la subrutina :ToWordCase. set cadena=%ano%%guion%%mes%%guion%%dia% %ToWordCase%%nombre% towordcase está vacia porque alphabet tambien está vacia. Setlocal EnableDelayedExpansion Esa orden deberías ponerla al principio del script junto al "@Echo OFF". saludos
|
|
« Última modificación: 19 Septiembre 2013, 01:15 am por EleKtro H@cker »
|
En línea
|
|
|
|
Pédrin-2
Desconectado
Mensajes: 171
|
Por favor no te enfades que tu este tema lo tienes mas que .... Mañana pruebo lo que me comentas y te digo ( espero que ya haya resuelto el problema). Ya es muy tarde.
Un saludo y gracias por tu tiempo
|
|
|
En línea
|
Pido disculpas por las pifias que pueda decir. el unico fin es ayudar y aprender. Un Saludo
|
|
|
Pédrin-2
Desconectado
Mensajes: 171
|
Me rindo tiro la toalla
|
|
|
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
Mensajes: 9.878
|
Me rindo tiro la toalla no te rindas, muestra lo que llevas hecho
|
|
|
En línea
|
|
|
|
Pédrin-2
Desconectado
Mensajes: 171
|
Gracias por ayudarme a parte de hacer pruebas, y buscar informacion de almacenar el resultado en variables y no se como adptarlo a mi batch @Echo OFF rem Esa orden deberías ponerla al principio del script junto al "@Echo OFF". ( en vez de junto la pongo debajo para que funcione )
Setlocal EnableDelayedExpansion set/p nombre="Nombre de Cliente:" set nombre=%nombre%
set guion=- for /f "tokens=1,2,3,4,5 delims=/" %%i in ('date /t') do ( set ano=%%k set dia=%%i set mes=%%j rem Set ToWordCase=%words% Set ToWordCase=%Alphabet% Set Alphabet=%Words% set nombre=%nombre%
rem (Dentro de la subrutina) Set "Words=!Words!!X!!Word:~1! ") rem set cadena=%ano%%guion%%mes%%guion%%dia% %ToWordCase%%nombre% set cadena=%ano%%guion%%mes%%guion%%dia% %Alphabet%%nombre% rem set cadena=%ano%%guion%%mes%%guion%%dia% %Words%%nombre% set directorio=%1
Call :ToWordCase "%nombre%" Echo+ rem Pause&Exit :ToWordCase Set "Alphabet=ABCDEFGHIJKLMNOPQRSTUVWXYZ" For %%# in (%~1) do ( Set "Word=%%#" Set "Char=!Word:~0,1!" If "!Char!" EQU "a" (Set "X=%Alphabet:~0,1%") If "!Char!" EQU "b" (Set "X=%Alphabet:~1,1%") If "!Char!" EQU "c" (Set "X=%Alphabet:~2,1%") If "!Char!" EQU "d" (Set "X=%Alphabet:~3,1%") If "!Char!" EQU "e" (Set "X=%Alphabet:~4,1%") If "!Char!" EQU "f" (Set "X=%Alphabet:~5,1%") If "!Char!" EQU "g" (Set "X=%Alphabet:~6,1%") If "!Char!" EQU "h" (Set "X=%Alphabet:~7,1%") If "!Char!" EQU "i" (Set "X=%Alphabet:~8,1%") If "!Char!" EQU "j" (Set "X=%Alphabet:~9,1%") If "!Char!" EQU "k" (Set "X=%Alphabet:~10,1%") If "!Char!" EQU "l" (Set "X=%Alphabet:~11,1%") If "!Char!" EQU "m" (Set "X=%Alphabet:~12,1%") If "!Char!" EQU "n" (Set "X=%Alphabet:~13,1%") If "!Char!" EQU "o" (Set "X=%Alphabet:~14,1%") If "!Char!" EQU "p" (Set "X=%Alphabet:~15,1%") If "!Char!" EQU "q" (Set "X=%Alphabet:~16,1%") If "!Char!" EQU "r" (Set "X=%Alphabet:~17,1%") If "!Char!" EQU "s" (Set "X=%Alphabet:~18,1%") If "!Char!" EQU "t" (Set "X=%Alphabet:~19,1%") If "!Char!" EQU "u" (Set "X=%Alphabet:~20,1%") If "!Char!" EQU "v" (Set "X=%Alphabet:~21,1%") If "!Char!" EQU "w" (Set "X=%Alphabet:~22,1%") If "!Char!" EQU "x" (Set "X=%Alphabet:~23,1%") If "!Char!" EQU "y" (Set "X=%Alphabet:~24,1%") If "!Char!" EQU "z" (Set "X=%Alphabet:~25,1%") < Nul Call Set /P "=!X!!Word:~1! " )
start cmd.exe /c "CD %directorio% && Md """%cadena%""""
Un Saludo PD No te rias de lo malo que soy, me parezco al niño que le estan enseñando a caminar y la verdad que es bastante frustante
|
|
|
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
Mensajes: 9.878
|
Ay señor... No me rio, todos hemos sido novatos, pero es que tienes que leer un poco sobre el lenguaje y practicarlo unas cuantas veces antes de ponerte a hacer códigos sin saber. If " %DirPath:~-1%" EQU "\" (Set "DirPath= %DirPath:~0,-1%" ) Set /P "Name=Nombre de Cliente:" Call : ToWordCase " %Name%" Set "FullPath= %DirPath%\ %DATE:~6,4%- %DATE:~3,2%- %DATE:~0,2%%WordCaseName%" MKDIR " %FullPath%" && (Explorer " %FullPath%" ) :ToWordCase Set "Alphabet=ABCDEFGHIJKLMNOPQRSTUVWXYZ" If " !Char!" EQU "a" (Set "X= %Alphabet:~0,1%" ) If " !Char!" EQU "b" (Set "X= %Alphabet:~1,1%" ) If " !Char!" EQU "c" (Set "X= %Alphabet:~2,1%" ) If " !Char!" EQU "d" (Set "X= %Alphabet:~3,1%" ) If " !Char!" EQU "e" (Set "X= %Alphabet:~4,1%" ) If " !Char!" EQU "f" (Set "X= %Alphabet:~5,1%" ) If " !Char!" EQU "g" (Set "X= %Alphabet:~6,1%" ) If " !Char!" EQU "h" (Set "X= %Alphabet:~7,1%" ) If " !Char!" EQU "i" (Set "X= %Alphabet:~8,1%" ) If " !Char!" EQU "j" (Set "X= %Alphabet:~9,1%" ) If " !Char!" EQU "k" (Set "X= %Alphabet:~10,1%" ) If " !Char!" EQU "l" (Set "X= %Alphabet:~11,1%" ) If " !Char!" EQU "m" (Set "X= %Alphabet:~12,1%" ) If " !Char!" EQU "n" (Set "X= %Alphabet:~13,1%" ) If " !Char!" EQU "o" (Set "X= %Alphabet:~14,1%" ) If " !Char!" EQU "p" (Set "X= %Alphabet:~15,1%" ) If " !Char!" EQU "q" (Set "X= %Alphabet:~16,1%" ) If " !Char!" EQU "r" (Set "X= %Alphabet:~17,1%" ) If " !Char!" EQU "s" (Set "X= %Alphabet:~18,1%" ) If " !Char!" EQU "t" (Set "X= %Alphabet:~19,1%" ) If " !Char!" EQU "u" (Set "X= %Alphabet:~20,1%" ) If " !Char!" EQU "v" (Set "X= %Alphabet:~21,1%" ) If " !Char!" EQU "w" (Set "X= %Alphabet:~22,1%" ) If " !Char!" EQU "x" (Set "X= %Alphabet:~23,1%" ) If " !Char!" EQU "y" (Set "X= %Alphabet:~24,1%" ) If " !Char!" EQU "z" (Set "X= %Alphabet:~25,1%" ) Set "WordCaseName= !WordCaseName! !X!!Word:~1!" )
Saludos!
|
|
« Última modificación: 20 Septiembre 2013, 12:28 pm por EleKtro H@cker »
|
En línea
|
|
|
|
Pédrin-2
Desconectado
Mensajes: 171
|
Hola EleKtro H@cker hay algo que no funciona porque no me deja escribir el nombre ( no hace la pausa), ni me crea la carpeta lo que ve es que en el codigo que has puesto el Setlocal lo tienes del mismo color que ejem, Echo sin en cambio en mi notepad ++ no sale de color azul, sale negro.
sabes que puede pasar ??
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
Mensajes: 9.878
|
Vamos por partes, El código es 100% funcional, no uses Notepad++, abre el Bloc de notas, pega el código, y guárdalo con codificación ANSI. Si te sigue sin funcionar, comenta el modo en el que lo estás intentando usar. EDITO:Dime una cosa... ¿No será que tu estás intentando abrir diréctamente el script haciendo click en el archivo?, Lo comento porque el script debe recibir un argumento espeficando una ruta, como en todos los códigos que has mostrado hasta ahora... lo que ve es que en el codigo que has puesto el Setlocal lo tienes del mismo color que ejem, Echo sin en cambio en mi notepad ++ no sale de color azul, sale negro.
sabes que puede pasar ?? -.- Ains, no te preocupes por eso... el término es "Syntax Highlighting", tanto este foro SMF como esos editores de texto usan plugins para resaltar la sintaxis de los lenguajes de programación, ves del mismo color "Echo" y "SetLocal" porque son dos Keywords así que se resaltan en el mismo color, si tu editor de texto no resalta "SetLocal" entonces el plugin que usan para Batch es una basura, aunque el plugin GeShi de este foro tiene otros errores mucho más graves que ya comenté en otro post pero nadie me hizo ni caso. PD: Te recomiendo Sublime Text 3.0 + Plugins de terceros. Saludos
|
|
« Última modificación: 20 Septiembre 2013, 17:45 pm por EleKtro H@cker »
|
En línea
|
|
|
|
Pédrin-2
Desconectado
Mensajes: 171
|
EDITO: Dime una cosa... ¿No será que tu estás intentando abrir diréctamente el script haciendo click en el archivo?, Lo comento porque el script debe recibir un argumento espeficando una ruta, como en todos los códigos que has mostrado hasta ahora...
-.-
Saludos
Pues si es lo que hago click en el archivo como siempre entonces como lo hago???
|
|
|
En línea
|
Pido disculpas por las pifias que pueda decir. el unico fin es ayudar y aprender. Un Saludo
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Personalizar aplicacion
Programación Visual Basic
|
bautistasbr
|
3
|
1,522
|
30 Agosto 2006, 21:38 pm
por NYlOn
|
|
|
Personalizar error
Programación Visual Basic
|
dimitrix
|
1
|
1,551
|
22 Enero 2007, 01:18 am
por Syphroot
|
|
|
personalizar datagrid vb6.0
Programación Visual Basic
|
choquito
|
2
|
7,078
|
2 Abril 2007, 17:41 pm
por choquito
|
|
|
Personalizar DVD
Multimedia
|
Sri
|
0
|
2,057
|
23 Diciembre 2007, 19:19 pm
por Sri
|
|
|
[Batch] Insertar un batch dentro de un batch que fabrique un .txt
Scripting
|
$pedrojo2704
|
2
|
6,337
|
23 Agosto 2012, 10:08 am
por $pedrojo2704
|
|