Autor
|
Tema: Personalizar Batch (Leído 17,747 veces)
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.878
|
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?: 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: Por esta otras: Set /P "DirPath=Nombre de Carpeta:"
Saludos!
|
|
|
En línea
|
|
|
|
Pédrin-2
Desconectado
Mensajes: 171
|
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: 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: 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: 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
Mensajes: 9.878
|
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í: 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%" )
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
Mensajes: 171
|
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. 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
Mensajes: 9.878
|
el problemilla viene cuando escribes en mayusculas, no respeta y sale todo en mayusculas. Cierto, se me habia pasado ese detalle. Pero es muy facil de solucionar, puedes hacerlo tu mismo, te doy una pista muy grande: :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
Mensajes: 171
|
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 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
Mensajes: 171
|
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
Mensajes: 9.878
|
Solución: 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. De la forma en la que tú lo estás intentando hacer, lo que debiste hacer es esto: 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
Mensajes: 171
|
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 @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!" ) 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
Mensajes: 171
|
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
|
|
|
|
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,547
|
22 Enero 2007, 01:18 am
por Syphroot
|
|
|
personalizar datagrid vb6.0
Programación Visual Basic
|
choquito
|
2
|
7,076
|
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,318
|
23 Agosto 2012, 10:08 am
por $pedrojo2704
|
|