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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Batch] Conservar caracteres especiales usando delayedexpansion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Batch] Conservar caracteres especiales usando delayedexpansion  (Leído 3,860 veces)
ovichan

Desconectado Desconectado

Mensajes: 81


Ver Perfil
[Batch] Conservar caracteres especiales usando delayedexpansion
« en: 25 Octubre 2012, 18:40 pm »

Buenas, en esta ocasion estoy haciendo un listado de unos archivos matroska, y usando el for con tokens, para seleccionar la parte a guardar en la lista. Al tener que usar enableddelayedexpasion, ciertos caracteres son destruidos. He intentado cambiar el chcp pero sin resultado. El codigo es este:

Código:
@echo off
Title Listar nombres capitulos
Setlocal EnableDelayedExpansion

rem CHCP 850 >nul
if exist "lista.txt" (erase "lista.txt")

for /f "tokens=2 delims=[]" %%i in ('dir /b /o:n "*.mkv"') do (

set "nom=%%i"

echo !nom:~1! >> "lista.txt"
 )

pause

Lo curioso es que si lo ejecuto desde cmd, se muestra perfectamente con sus caracteres.

Original



Queda algo asi sin extenderme:



« Última modificación: 25 Octubre 2012, 18:43 pm por ovichan » En línea

Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.874



Ver Perfil
Re: [Batch] Conservar caracteres especiales usando delayedexpansion
« Respuesta #1 en: 25 Octubre 2012, 20:39 pm »

Creo que ya te expliqué los inconvenientes de habilitar la expansión en ocasiones como esta... No sigas usandolo para procesar nombres de archivos como estos... No lo digo por los caracteres latinos (Que eso es problema del código de páginas, no estás usando el adecuado), sinó por las exclamaciones "!" que son inseteables al expandir.

Código
  1. @echo off
  2. Title Listar nombres capitulos
  3.  
  4. REM Esto para el alfabeto latino
  5. CHCP 1250 >nul
  6.  
  7. if exist "lista.txt" (erase "lista.txt")
  8.  
  9. for /f "tokens=2 delims=[]" %%i in ('dir /b /o:n "*.mkv"') do (
  10.  
  11. set "nom=%%i"
  12.  
  13.         REM Y esto para evitar la expansión y no perder otros caracteres.
  14. CALL Echo %%nom:~1%%>>"lista.txt"
  15. )
  16.  
  17. Pause&Exit

Saludos



EDITO: unas preguntas tontas Ovichan xD...
¿ese magnifico rip que ven mis ojos es tuyo?
Si conoces el ripeo de "Buiza" del foro AnimeHD, siendo sincero, ¿El tuyo tiene mejor calidad/tamaño? es que al ver "mkv" me asusta el tamaño.
¿Puedes decirme cuanto pesaría aprox. un capitulo de esos dejando solo el audio castellano?

-- ¿Está completado y posteado en evoshare ya?

PD: Vaya un offtopic xD


« Última modificación: 25 Octubre 2012, 20:49 pm por EleKtro H@cker » En línea



ovichan

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Re: [Batch] Conservar caracteres especiales usando delayedexpansion
« Respuesta #2 en: 25 Octubre 2012, 21:53 pm »

Creo que ya te expliqué los inconvenientes de habilitar la expansión en ocasiones como esta... No sigas usandolo para procesar nombres de archivos como estos... No lo digo por los caracteres latinos (Que eso es problema del código de páginas, no estás usando el adecuado), sinó por las exclamaciones "!" que son inseteables al expandir.

Código
  1. @echo off
  2. Title Listar nombres capitulos
  3.  
  4. REM Esto para el alfabeto latino
  5. CHCP 1250 >nul
  6.  
  7. if exist "lista.txt" (erase "lista.txt")
  8.  
  9. for /f "tokens=2 delims=[]" %%i in ('dir /b /o:n "*.mkv"') do (
  10.  
  11. set "nom=%%i"
  12.  
  13.         REM Y esto para evitar la expansión y no perder otros caracteres.
  14. CALL Echo %%nom:~1%%>>"lista.txt"
  15. )
  16.  
  17. Pause&Exit

Saludos



EDITO: unas preguntas tontas Ovichan xD...
¿ese magnifico rip que ven mis ojos es tuyo?
Si conoces el ripeo de "Buiza" del foro AnimeHD, siendo sincero, ¿El tuyo tiene mejor calidad/tamaño? es que al ver "mkv" me asusta el tamaño.
¿Puedes decirme cuanto pesaría aprox. un capitulo de esos dejando solo el audio castellano?

-- ¿Está completado y posteado en evoshare ya?

PD: Vaya un offtopic xD
Si ya se que me lo explicaste pero soy un poco cerril jajaja o es que no entiendo muy bien.

En cuanto al off, pues si este rip es mio. En cuanto al tamaño, no dudes que van a pesar pues uso la opcion de codificacion crf, que hace que sea indeterminable el tamaño del video pero asegura la mejor calidad. Pues para ser sinceros, a cada capitulo le adjunto archivos necesarios de recuperacion para una posterior edicion si fuese necesaria,por tanto eliminando este archivo mas el audio japo, creo que se quedaria cada capi en unos 350~400Mb.

Conozco a Ojisan de AnimeHD, pero nada mas lo siento.


AAAA y gracias por el codigo, lo voy a probar inmediatamente.
En línea

ovichan

Desconectado Desconectado

Mensajes: 81


Ver Perfil
Re: [Batch] Conservar caracteres especiales usando delayedexpansion
« Respuesta #3 en: 25 Octubre 2012, 22:52 pm »

Bueno como unico inconveniente es que el simbolo ¿ lo transforma a ?, pero bueno da igual me sirve. Gracias.

El call del echo no lo habia visto antes, y no tengo ni idea pa que sirve, lo de los dobles porcentajes ya me explicaste que era para obtener el valor de la variable local.

Gracias Elektro
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Caracteres especiales
PHP
chicuela66 2 2,883 Último mensaje 12 Enero 2007, 14:25 pm
por 5n4K3
Crear caracteres especiales
Programación Visual Basic
WHK 3 5,201 Último mensaje 4 Junio 2007, 04:04 am
por Cobac
Caracteres especiales en BATCH (espero les sirva)
Scripting
<ИΘZIЭ(ŦB> 5 17,401 Último mensaje 21 Octubre 2009, 17:35 pm
por flony
caracteres especiales
Scripting
flony 0 2,513 Último mensaje 1 Junio 2010, 03:27 am
por flony
Caracteres especiales (BATCH) Bastante completo « 1 2 »
Scripting
FerJGS 12 20,804 Último mensaje 17 Agosto 2010, 14:34 pm
por FerJGS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines