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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 23 24 25
151  Programación / Scripting / (SOLUCIONADO) [ BATCH ] Duda general SET y FOR en: 21 Marzo 2011, 15:42 pm
Aún no me aclaro del todo con el CMD :/

Tengo una pequeña duda

Si tengo una lista así...

C:\>type c:\lista.txt

213.149.245.116:27015
93.189.35.160:27015
213.149.245.112:27050
93.189.35.172:27015
213.149.245.85:27015



Y tengo un código así...

Código
  1. @ECHO OFF
  2.  
  3. for /f %%a in ('type c:\lista.txt .') do (
  4. set ip=%%a
  5. echo %ip%
  6. )
  7.  
  8. echo %ip%
  9.  

Mi pregunta es, porque el "echo %ip%" dentro del for no funciona, y el segundo "echo %ip%" si que me funciona?

saludos
152  Programación / Scripting / [ Batch ] Preguntas y ayuda para corregir mi script... en: 20 Marzo 2011, 12:57 pm
Hola, ya he acabado mi script, le faltarían 2 cosas que me gustaría añadirle que ahora comentaré, pero eso solo son "florituras" xD, así que lo doy por terminado...

Sin la ayuda de Leo y otros que me han ayudado con sus respuestas no habría podido terminarlo, aunque no es gran cosa seguro que más de uno lo habría acabado en un solo día xD, pero bueno, yo voy aprendiendo de los mejores :P.

Me gustaría si alguien tiene tiempo se mirase de rehojo mi script, para ver si encuentran algún error, o si se pudiera mejorar (Eliminar variables inservibles, , hacerlo más simple, añadirle algo más, etc... o que se yo xD) Incluso aunque sea cambiarle el nombre xD, Cualquier cosa se agradece!


La verdad es que me ha quedado bastante bien, más o menos como a mi me gusta:



Se que no tiene mérito, porque el DbPowerAmp no lo he echo yo, pero esto me va a ahorrar años de trabajo manual con el PC... xD

Como ya he dicho, aún le faltan las "florituras", cosas que sigo notanco imperfectas en el script,algunas más importantes que otras, así que de paso,para no tener que hacer 70 posts más, os hago algunas pregunas a ver si alguien me contesta... (No hace falta ni decir que ya he buscado información acerca de todo esto, pero...)



1. - ¿Como ejecuto mi script correctamente desde el registro? Si, lo que quiero decir es que, me gustaría usarlo pinchando click derecho en una carpeta por ejemplo, con una opcion agregada al registro... de echo YA LO TENGO CONFIGURADO ASÍ, pero, el programa creo que me muestra información en ANSI y no me funciona correctamente por que por ejemplo me busca el archivo "mp3 (lame).dll" pero todo separado, asi: " M P 3  ( L A M E ) " y con renombrar el codec no me ha servido, porque hay un espacio entre las comillas... :(            (Uso Windows 7)



2. - ¿Que puedo hacer mediante el CMD, para saber la longitud de letras que tiene el nombre de un archivo? Pues eso, ese dato me serviria mucho porque hay casos en que el nombre del archivo es demasiado largo y entonces "no entra" en la ventana de mi script, entonces, me gustaría recortar SOLO los nombres que tengan mayor longitud de 70 caracteres, por ejemplo.



3. - ¿Existe alguna barra de progresso que pueda usar con mi script? Es que no me gusta nada que salga el titulo del "dbpoweramp" y su barra de progreso no me gusta tampoco, el programa se puede usar en modo silencioso con el comando "-silent" (Por si sirve de algo...) Tampoco me gusta que me de información sobre el archivo de destino... eso no se podrá ocultar de algún modo, verdad?



GRACIAS A TODOS LOS QUE HAYAN LEIDO HASTA AQUI :P





El Script:


Código
  1. @echo off
  2. Title=Audio Bitrate Changer
  3. Mode con cols=20 lines=3
  4. Color 7
  5.  
  6. Set Centrar=Nircmd win center ititle "Audio Bitrate Changer"
  7. Set Lista=%Temp%\Lista.txt
  8. Set Num=0
  9. Set Rate=0
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20. :START
  21. If exist %lista% (
  22. Del /q %Lista% >nul 2>&1
  23. )
  24. echo+ & %centrar%
  25. Colous cursoroff
  26. Colous writesec "[7] Buscando audios" & sleep 1 & cls & echo+
  27. Colous writesec "[7] Buscando audios." & sleep 1 & cls & echo+
  28. Colous writesec "[7] Buscando audios.." & sleep 1 & cls & echo+
  29. Colous writesec "[7] Buscando audios..." & sleep 1
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42. dir /B *.aif >nul 2>&1
  43. IF %ERRORLEVEL% EQU 0 (
  44. call :FIND_AIF
  45. )
  46.  
  47. dir /B *.flac >nul 2>&1
  48. IF %ERRORLEVEL% EQU 0 (
  49. call :FIND_FLAC
  50. )
  51.  
  52. dir /B *.m4a >nul 2>&1
  53. IF %ERRORLEVEL% EQU 0 (
  54. call :FIND_M4A
  55. )
  56.  
  57. dir /B *.ogg >nul 2>&1
  58. IF %ERRORLEVEL% EQU 0 (
  59. call :FIND_OGG
  60. )
  61.  
  62. dir /B *.wav >nul 2>&1
  63. IF %ERRORLEVEL% EQU 0 (
  64. call :FIND_WAV
  65. )
  66.  
  67. dir /B *.wma >nul 2>&1
  68. IF %ERRORLEVEL% EQU 0 (
  69. call :FIND_WMA
  70. )
  71.  
  72.  
  73. dir /B *.mp3 >nul 2>&1
  74. IF %ERRORLEVEL% EQU 0 (
  75. goto:FIND_MP3
  76. )
  77.  
  78. goto :END
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89. :SEARCH
  90.  
  91. :FIND_AIF
  92. for /f "tokens=*" %%a in ('dir /B *.aif') do (
  93. cls
  94. set nombre=%%a
  95. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
  96. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
  97. call :Sizer
  98. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
  99. mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "161... 162... 163... 164... 165... 166... 167... 168... 169... 17.... 18.... 19.... 2..... 3..... 4..... 5..... 6....." >nul
  100. call :AIF
  101. )
  102. goto:eof
  103.  
  104.  
  105. :FIND_FLAC
  106. for /f "tokens=*" %%a in ('dir /B *.flac') do (
  107. cls
  108. set nombre=%%a
  109. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
  110. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
  111. call :Sizer
  112. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
  113. mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "2..... 3..... 4..... 5..... 6..... 7..... 8..... 9..... 1...... 2......" >nul
  114. call :FLAC
  115. )
  116. goto:eof
  117.  
  118.  
  119. :FIND_M4A
  120. for /f "tokens=*" %%a in ('dir /B *.m4a') do (
  121. cls
  122. set nombre=%%a
  123. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
  124. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
  125. call :Sizer
  126. Call :SIZER_SMALL
  127. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
  128. mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "161... 162... 163... 164... 165... 166... 167... 168... 169... 17.... 18.... 19.... 2..... 3..... 4..... 5..... 6..... 7..... 8..... 9....." >nul
  129. call :M4A
  130. )
  131. goto:eof
  132.  
  133.  
  134. :FIND_OGG
  135. for /f "tokens=*" %%a in ('dir /B *.ogg') do (
  136. cls
  137. set nombre=%%a
  138. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
  139. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
  140. call :Sizer
  141. Call :SIZER_SMALL
  142. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
  143. mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "161... 162... 163... 164... 165... 166... 167... 168... 169... 17.... 18.... 19.... 2..... 3..... 4..... 5..... 6..... 7..... 8..... 9....." >nul
  144. call :OGG
  145. )
  146. goto:eof
  147.  
  148.  
  149. :FIND_WAV
  150. for /f "tokens=*" %%a in ('dir /B *.wav') do (
  151. cls
  152. set nombre=%%a
  153. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
  154. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
  155. call :Sizer
  156. call :sizer_WAVE
  157. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
  158. mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "161... 162... 163... 164... 165... 166... 167... 168... 169... 17.... 18.... 19.... 2..... 3..... 4..... 5..... 6..... 7..... 8..... 9..... 1...... 2......" >nul
  159. call :WAV
  160. )
  161. goto:eof
  162.  
  163.  
  164. :FIND_WMA
  165. for /f "tokens=*" %%a in ('dir /B *.wma') do (
  166. cls
  167. set nombre=%%a
  168. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
  169. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
  170. call :Sizer
  171. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
  172. mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "161... 162... 163... 164... 165... 166... 167... 168... 169... 17.... 18.... 19.... 2..... 3..... 4..... 5..... 6..... 7....." >nul
  173. call :WMA
  174. )
  175. goto:eof
  176.  
  177.  
  178. :FIND_MP3
  179. for /f "tokens=*" %%a in ('dir /B *.mp3') do (
  180. cls
  181. set nombre=%%a
  182. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
  183. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
  184. call :Sizer
  185. Call :SIZER_SMALL
  186. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
  187. mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "161... 162... 163... 164... 165... 166... 167... 168... 169... 17.... 18.... 19.... 2..... 3....." >nul
  188. call :MP3
  189. )
  190. Goto :END
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201. :CONVERT
  202.  
  203. :AIF
  204. IF %ERRORLEVEL% GEQ 1 goto:eof
  205. IF %ERRORLEVEL% EQU 0 (
  206. title="Convirtiendo: %nombre%"
  207. Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%"
  208. cls
  209. set /a num+=1
  210. echo+ "%nombre%">> %lista% & echo+
  211. Colous writesec "[7]Convirtiendo el audio:" & echo+
  212. Colous writesec "[8] %nombre%" & echo+
  213. Colous writesec "[7] Bitrate :[12] %RATE%"
  214. Colous writesec "[7] Tamano  :[14] %Size:~0,-4%[7] MB"
  215. Colous writesec "[7] Duracion: %Time%"
  216. Colous writesec "[8]=================================="
  217. Colous writesec "[7] Nuevo Bitrate: [2]160 [7]Kbps"
  218. Colous writesec "[7] Nuevo Formato: [2]MP3"
  219. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE%.0 [7]MB (Aprox.)"
  220. Colous writesec "[7] Preset:[2] Highest quality [7](Slow)"
  221. Colous writesec "[8]__________________________________________________________________"
  222. coreconverter.exe -infile="%nombre:~0,-4%.aif" -outfile="%nombre:~0,-4%.mp3" -convert_to="mp3 (Lame)" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile="%temp%\%nombre%.txt"
  223. Title=Audio Bitrate Changer
  224. find /v "error" "%temp%\%nombre%.txt" >nul
  225. Call :Error
  226. del /q "%temp%\%nombre%.txt"
  227. del /q "%nombre%"
  228. sleep 2
  229. goto:eof
  230. )
  231.  
  232.  
  233.  
  234. :FLAC
  235. IF %ERRORLEVEL% GEQ 1 goto:eof
  236. IF %ERRORLEVEL% EQU 0 (
  237. title="Convirtiendo: %nombre%"
  238. Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%"
  239. cls
  240. set /a num+=1
  241. echo+ "%nombre%">> %lista% & echo+
  242. Colous writesec "[7]Convirtiendo el audio:" & echo+
  243. Colous writesec "[8] %nombre%" & echo+
  244. Colous writesec "[7] Bitrate :[12] %RATE%"
  245. Colous writesec "[7] Tamano  :[14] %Size:~0,-4%[7] MB"
  246. Colous writesec "[7] Duracion: %Time%"
  247. Colous writesec "[8]=================================="
  248. Colous writesec "[7] Nuevo Bitrate: [2]160 [7]Kbps"
  249. Colous writesec "[7] Nuevo Formato: [2]MP3"
  250. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE%.0 [7]MB (Aprox.)"
  251. Colous writesec "[7] Preset:[2] Highest quality [7](Slow)"
  252. Colous writesec "[8]__________________________________________________________________"
  253. coreconverter.exe -infile="%nombre:~0,-5%.flac" -outfile="%nombre:~0,-5%.mp3" -convert_to="mp3 (Lame)" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile="%temp%\%nombre%.txt"
  254. Title=Audio Bitrate Changer
  255. find /v "error" "%temp%\%nombre%.txt" >nul
  256. Call :Error
  257. del /q "%temp%\%nombre%.txt"
  258. del /q "%nombre%"
  259. sleep 2
  260. goto:eof
  261. )
  262.  
  263. :M4A
  264. IF %ERRORLEVEL% GEQ 1 goto:eof
  265. IF %ERRORLEVEL% EQU 0 (
  266. title="Convirtiendo: %nombre%"
  267. Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%"
  268. cls
  269. set /a num+=1
  270. echo+ "%nombre%">> %lista% & echo+
  271. Colous writesec "[7]Convirtiendo el audio:" & echo+
  272. Colous writesec "[8] %nombre%" & echo+
  273. IF %RATE:~0,-5% GEQ 193 (
  274. Colous writesec "[7] Bitrate :[12] %RATE:~0,-5%[7] Kbps"
  275. ) ELSE (
  276. Colous writesec "[7] Bitrate :[14] %RATE:~0,-5%[7] Kbps"
  277. )
  278. Colous writesec "[7] Tamano  :[14] %Size:~0,-4%[7] MB"
  279. Colous writesec "[7] Duracion: %Time%"
  280. Colous writesec "[8]=================================="
  281. Colous writesec "[7] Nuevo Bitrate: [2]160 [7]Kbps"
  282. Colous writesec "[7] Nuevo Formato: [2]MP3"
  283. IF %RATE:~0,-5% LEQ 192 (
  284. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE2%.0 [7]MB (Aprox.)"
  285. ) ELSE (
  286. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE%.0 [7]MB (Aprox.)"
  287. )
  288. Colous writesec "[7] Preset:[2] Highest quality [7](Slow)"
  289. Colous writesec "[8]__________________________________________________________________"
  290. coreconverter.exe -infile="%nombre:~0,-4%.m4a" -outfile="%nombre:~0,-4%.mp3" -convert_to="mp3 (Lame)" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile="%temp%\%nombre%.txt"
  291. Title=Audio Bitrate Changer
  292. find /v "error" "%temp%\%nombre%.txt" >nul
  293. Call :Error
  294. del /q "%temp%\%nombre%.txt"
  295. del /q "%nombre%"
  296. sleep 2
  297. goto:eof
  298. )
  299.  
  300. :MP3
  301.  
  302. IF %ERRORLEVEL% GEQ 1 goto:eof
  303. IF %ERRORLEVEL% EQU 0 (
  304. title="Convirtiendo: %nombre%"
  305. Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%"
  306. cls
  307. set /a num+=1
  308. echo+ "%nombre%">> %lista% & echo+
  309. Colous writesec "[7]Convirtiendo el audio:" & echo+
  310. Colous writesec "[8] %nombre%" & echo+
  311. IF %RATE:~0,-5% GEQ 193 (
  312. Colous writesec "[7] Bitrate :[12] %RATE:~0,-5%[7] Kbps"
  313. ) ELSE (
  314. Colous writesec "[7] Bitrate :[14] %RATE:~0,-5%[7] Kbps"
  315. )
  316. Colous writesec "[7] Tamano  :[14] %Size:~0,-4%[7] MB"
  317. Colous writesec "[7] Duracion: %Time%"
  318. Colous writesec "[8]=================================="
  319. Colous writesec "[7] Nuevo Bitrate: [2]160 [7]Kbps"
  320. Colous writesec "[7] Nuevo Formato: [2]N/A"
  321. IF %RATE:~0,-5% LEQ 192 (
  322. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE2%.0 [7]MB (Aprox.)"
  323. ) ELSE (
  324. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE%.0 [7]MB (Aprox.)"
  325. )
  326. Colous writesec "[7] Preset:[2] Highest quality [7](Slow)"
  327. Colous writesec "[8]______________________________________________________________________"
  328. coreconverter.exe -infile="%nombre%" -outfile="%nombre%" -convert_to="mp3 (Lame)" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile="%temp%\%nombre%.txt"
  329. Title=Audio Bitrate Changer
  330. find /v "error" "%temp%\%nombre%.txt" >nul
  331. Call :Error
  332. del /q "%temp%\%nombre%.txt"
  333. sleep 2
  334. goto:eof
  335. )
  336.  
  337. :OGG
  338. IF %ERRORLEVEL% GEQ 1 goto:eof
  339. IF %ERRORLEVEL% EQU 0 (
  340. title="Convirtiendo: %nombre%"
  341. Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%"
  342. cls
  343. set /a num+=1
  344. echo+ "%nombre%">> %lista% & echo+
  345. Colous writesec "[7]Convirtiendo el audio:" & echo+
  346. Colous writesec "[8] %nombre%" & echo+
  347. IF %RATE:~0,-5% GEQ 193 (
  348. Colous writesec "[7] Bitrate :[12] %RATE:~0,-5%[7] Kbps"
  349. ) ELSE (
  350. Colous writesec "[7] Bitrate :[14] %RATE:~0,-5%[7] Kbps"
  351. )
  352. Colous writesec "[7] Tamano  :[14] %Size:~0,-4%[7] MB"
  353. Colous writesec "[7] Duracion: %Time%"
  354. Colous writesec "[8]=================================="
  355. Colous writesec "[7] Nuevo Bitrate: [2]160 [7]Kbps"
  356. Colous writesec "[7] Nuevo Formato: [2]MP3"
  357. IF %RATE:~0,-5% LEQ 192 (
  358. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE2%.0 [7]MB (Aprox.)"
  359. ) ELSE (
  360. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE%.0 [7]MB (Aprox.)"
  361. )
  362. Colous writesec "[7] Preset:[2] Highest quality [7](Slow)"
  363. Colous writesec "[8]__________________________________________________________________"
  364. coreconverter.exe -infile="%nombre:~0,-4%.ogg" -outfile="%nombre:~0,-4%.mp3" -convert_to="mp3 (Lame)" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile="%temp%\%nombre%.txt"
  365. Title=Audio Bitrate Changer
  366. find /v "error" "%temp%\%nombre%.txt" >nul
  367. Call :Error
  368. del /q "%temp%\%nombre%.txt"
  369. del /q "%nombre%"
  370. sleep 2
  371. goto:eof
  372. )
  373.  
  374. :WAV
  375. IF %ERRORLEVEL% GEQ 1 goto:eof
  376. IF %ERRORLEVEL% EQU 0 (
  377. title="Convirtiendo: %nombre%"
  378. Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%"
  379. cls
  380. set /a num+=1
  381. echo+ "%nombre%">> %lista% & echo+
  382. Colous writesec "[7]Convirtiendo el audio:" & echo+
  383. Colous writesec "[8] %nombre%" & echo+
  384. Colous writesec "[7] Bitrate :[12] %RATE%"
  385. Colous writesec "[7] Tamano  :[14] %Size:~0,-4%[7] MB"
  386. Colous writesec "[7] Duracion: %Time%"
  387. Colous writesec "[8]=================================="
  388. Colous writesec "[7] Nuevo Bitrate: [2]160 [7]Kbps"
  389. Colous writesec "[7] Nuevo Formato: [2]MP3"
  390. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE%.0 [7]MB (Aprox.)"
  391. Colous writesec "[7] Preset:[2] Highest quality [7](Slow)"
  392. Colous writesec "[8]__________________________________________________________________"
  393. coreconverter.exe -infile="%nombre:~0,-4%.wav" -outfile="%nombre:~0,-4%.mp3" -convert_to="mp3 (Lame)" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile="%temp%\%nombre%.txt"
  394. Title=Audio Bitrate Changer
  395. find /v "error" "%temp%\%nombre%.txt" >nul
  396. Call :Error
  397. del /q "%temp%\%nombre%.txt"
  398. del /q "%nombre%"
  399. sleep 2
  400. goto:eof
  401. )
  402.  
  403. :WMA
  404. IF %ERRORLEVEL% GEQ 1 goto:eof
  405. IF %ERRORLEVEL% EQU 0 (
  406. title="Convirtiendo: %nombre%"
  407. Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%"
  408. cls
  409. set /a num+=1
  410. echo+ "%nombre%">> %lista% & echo+
  411. Colous writesec "[7]Convirtiendo el audio:" & echo+
  412. Colous writesec "[8] %nombre%" & echo+
  413. Colous writesec "[7] Bitrate :[12] %RATE%"
  414. Colous writesec "[7] Tamano  :[14] %Size:~0,-4%[7] MB"
  415. Colous writesec "[7] Duracion: %Time%"
  416. Colous writesec "[8]=================================="
  417. Colous writesec "[7] Nuevo Bitrate: [2]160 [7]Kbps"
  418. Colous writesec "[7] Nuevo Formato: [2]MP3"
  419. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE%.0 [7]MB (Aprox.)"
  420. Colous writesec "[7] Preset:[2] Highest quality [7](Slow)"
  421. Colous writesec "[8]__________________________________________________________________"
  422. coreconverter.exe -infile="%nombre:~0,-4%.wma" -outfile="%nombre:~0,-4%.mp3" -convert_to="mp3 (Lame)" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile="%temp%\%nombre%.txt"
  423. Title=Audio Bitrate Changer
  424. find /v "error" "%temp%\%nombre%.txt" >nul
  425. Call :Error
  426. del /q "%temp%\%nombre%.txt"
  427. del /q "%nombre%"
  428. sleep 2
  429. goto:eof
  430. )
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441. :SIZER
  442. SET NEWSIZE=%Size:~0,-4%
  443. SET /A NEWSIZE/=2
  444. goto:eof
  445.  
  446. :SIZER_WAVE
  447. SET NEWSIZE=%Size:~0,-4%
  448. SET /A NEWSIZE/=10
  449. goto:eof
  450.  
  451. :SIZER_SMALL
  452. SET NEWSIZE2=%Size:~0,-4%
  453. SET /A NEWSIZE2-=2
  454. goto:eof
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465. :ERROR
  466. IF %ERRORLEVEL% GEQ 1 goto:eof
  467. IF %ERRORLEVEL% EQU 0 (
  468. ·
  469. cls
  470. mode con cols=58 lines=8 & %Centrar%
  471. color 4 & echo+
  472. Colous writesec "[7] No se ha podido convertir el siguiente audio..." & echo+
  473. Colous writesec "[12] %nombre%" & echo+
  474. tec.exe "%temp%\%nombre%.txt" -de:33
  475. type "%temp%\%nombre%.txt"
  476. del /q "%temp%\%nombre%.txt"
  477. sleep 1
  478.  
  479. :WARNING
  480. Color 0e
  481. colous 15 0 2,02 "No se ha podido convertir el siguiente audio..." & echo+
  482. colous 12 0 2,04 "%nombre%" & echo+
  483. colous cursoroff
  484. sleep 1
  485.  
  486. Color 0c
  487. colous 15 0 2,02 "No se ha podido convertir el siguiente audio..." & echo+
  488. colous 12 0 2,04 "%nombre%" & echo+
  489. colous cursoroff
  490. sleep 1
  491. goto :WARNING
  492. )
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503. :END
  504. set Num2=%num%
  505. Set /a Num2+=4
  506.  
  507. If exist %lista% (
  508. cls
  509. mode con lines=%num2% & %Centrar%
  510. color 2 & echo+
  511. Colous writesec "[7] Se han convertido correctamente [2]%num%[7] audios..." & echo+
  512. FART.exe -q %lista% \" --remove
  513. type %lista%
  514. del /q %lista%
  515. )
  516.  
  517. If not exist %lista% (
  518. mode con lines=3 cols=65 & %centrar% & echo+
  519. Colous writesec "[7] No se ha encontrado ningun audio superior a +160 kbps."           & sleep 1 & cls & echo+
  520. Colous writesec "[7] No se ha encontrado ningun audio superior a +160 kbps.  [8]3..." & sleep 1 & cls & echo+
  521. Colous writesec "[7] No se ha encontrado ningun audio superior a +160 kbps.  [8]2.." & sleep 1 & cls & echo+
  522. Colous writesec "[7] No se ha encontrado ningun audio superior a +160 kbps.  [8]1." & sleep 1 & cls & echo+
  523. Colous writesec "[7] Bye.                                                    [8]0" & sleep 1
  524. )
153  Programación / Scripting / [ Batch ] Barra de progreso en batch... ¿Como? en: 19 Marzo 2011, 18:30 pm
Hola... se que soy un pesado xDDD pero ya me gustaría saber tanto como vosotros, así no molestaría :P, en fin, como siempre vuelvo a necesitar ayuda con mis cosas...

Hace dos dias empezé a buscar "progress bar" para el cmd, y la que más me agustado ha sido esta:

http://sigg3.net/blogger/progbar_sub.rar



El caso es que me gustaría meterla en mi script, en el espacio grande que queda en esta ventanita, miren:



Ahora viene lo malo... NO SE COMO HACERLO XD... Bueno, más o menos he conseguido algo, la barra de progreso dice el autor que hay que llamarla con un "Call", así que yo hago eso... pero al ejecutarse el "call", la barra de progreso TAPA todo lo que hay en la imagen de mi script, osea, sale arriba, no abajo.

He intentado modificar el script del autor, poniendole muchos "echo+" a ver si así aparecía un poco más abajo en mi script, pero no ha dado resultados... Así que a ver si alguien sabe la solución :/

Esta es la parte de mi script en donde quiero meter la barra:


Código
  1. :MP3
  2. IF %ERRORLEVEL% GEQ 1 goto:eof
  3. IF %ERRORLEVEL% EQU 0 (
  4. cls
  5. set /a num+=1
  6. echo+ "%nombre%">> %lista% & echo+
  7. Colous writesec "[7]Convirtiendo el archivo:" & echo+
  8. Colous writesec "[8] %nombre%" & echo+
  9. Colous writesec "[7] Bitrate :[14] %RATE:~0,-5% [7]Kbps"
  10. Colous writesec "[7] Tamano  : %Size:~0,-4% MB"
  11. Colous writesec "[7] Duracion: %Time%"
  12. Colous writesec "[8]================================="
  13. Colous writesec "[7] Nuevo Bitrate: [2]CBR 160 Kbps    [8]|"
  14. Colous writesec "[7] Nuevo Formato: [2]MP3             [8]|"
  15. Colous writesec "[7] Preset:[2] Highest quality (Slow) [8]|"
  16. Colous writesec "[8]__________________________________________________________"
  17. Call :Barloop
  18. (AQUI IRIA LA BARRA DE PROGRESO PARA USARSE CON ESTE COMANDO >> ) coreconverter.exe -silent -infile="%nombre%" -outfile="%nombre%" -convert_to="mp3 (Lame)" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile="%temp%\%nombre%.txt"
  19. find /v "error" "%temp%\%nombre%.txt" >nul
  20. Call :Error
  21. del /q "%temp%\%nombre%.txt"
  22. sleep 2
  23. goto:eof
  24. )


Y aquí el script de la barra (Bueno, uno de varios que hay en el link que puse más arriba):
Código
  1. :barloop
  2. set "_cooline=Current progress:"
  3. If not defined _pr set _pr=0
  4. If [%2] EQU [] goto :barloop_chk_defpr
  5. set /a _pr=_pr+%2
  6. :barloop_chk_defpr
  7. If [%3] EQU [] goto :barloop_progbar
  8. set _pr=%3
  9. :barloop_progbar
  10. cls&echo %_cooline%&echo.
  11. IF %_pr% EQU 0 (echo [                              ]  0%%
  12. ) ELSE (
  13. IF %_pr% EQU 1 (echo [==^>                           ] 10%%
  14. ) ELSE (
  15. IF %_pr% EQU 2 (echo [=====^>                        ] 20%%
  16. ) ELSE (
  17. IF %_pr% EQU 3 (echo [========^>                     ] 30%%
  18. ) ELSE (
  19. IF %_pr% EQU 4 (echo [===========^>                  ] 40%%
  20. ) ELSE (
  21. IF %_pr% EQU 5 (echo [==============^>               ] 50%%
  22. ) ELSE (
  23. IF %_pr% EQU 6 (echo [=================^>            ] 60%%
  24. ) ELSE (
  25. IF %_pr% EQU 7 (echo [====================^>         ] 70%%
  26. ) ELSE (
  27. IF %_pr% EQU 8 (echo [=======================^>      ] 80%%
  28. ) ELSE (
  29. IF %_pr% EQU 9 (echo [==========================^>   ] 90%%
  30. ) ELSE (
  31. echo [==============================] 100%%
  32. )
  33. )
  34. )
  35. )
  36. )
  37. )
  38. )
  39. )
  40. )
  41. )
  42. )
  43. echo.&set /a _pr=_pr+1
  44. goto %1
  45. echo ERROR: _returnto param wrong or undefined!&PAUSE
  46. REM ## End of THE PROGRESS BAR SUBROUTINE ##
154  Programación / Scripting / (SOLUCIONADO) [ Batch] Duda ¿Como ver un texto ANSI correctamente en el CMD? en: 19 Marzo 2011, 13:20 pm
Pues eso, un programa me genera un texto ANSI (Bueno, no se mucho de esto, pero el programa dice que es ANSI...) y dentro del texto pone:

Error decoding mp3 data steam, is corrupt?


Pero si ejecuto el comando "Type archivo.txt" se me muestra así:

E r r o r   d e c o d i n g   m p 3   d a t a   s t e a m ,  i s  c o r r u p t ?


¿Que raro, no? xD yo supongo que es por eso del ANSI vaya...

Que conste que he buscado información, pero "type" no tiene ninguna opción para esto... y comandos como "cmd /a" "cmd /U" no me han servido...


EDITO:

UF!! Maldito ANSI... ahora tengo un nuevo problema, he agregado una clave de registro en el menú del ratón, la he asignado a este comando:

Código:
cmd.exe /C SET D=%1&&"C:\Windows\System32\Bitrate Changer.bat"

Bien, ahora pincho click derecho en cualquier carpeta d emi pc, le doy a la opcion que he creado, y cuando se ejecuta el script, me muestra este mensaje de error:

E r r o r :   U n a b l e   t o   l o a d   e n c o d e r
 ' L A M E ' .     [ d B C o r e C o n v e r t e r : : d
  C o r e C o n v e r t e r ]

Se me muestra todo con espacios!!!!!!!!!! Y el error estoy seguro que es por eso, porque busca LAME con espacios, y debe estar SIN espacios... comos e arregla esta cosa del ansi???
Porque si lo ejecuto normal si que me funciona...


Por si sirve de algo... lo que intento ejecutar desde el registro (Me refiero a que he creado una opción en el menú del raton al hacer click en un directorio...) es esto:

Código
  1. @echo off
  2.  
  3. CD "%D%"
  4.  
  5. for /f "tokens=*" %%a in ('dir /B *.mp3') do (
  6. cls
  7. set nombre=%%a
  8. mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "3....." >nul
  9. call :MP3
  10. )
  11.  
  12.  
  13.  
  14. :MP3
  15. IF %ERRORLEVEL% GEQ 1 goto:eof
  16. IF %ERRORLEVEL% EQU 0 (
  17. cls
  18. set /a num+=1
  19. echo+ "%nombre%">> %lista% & echo+
  20. Colous writesec "[7]Convirtiendo el archivo:" & echo+
  21. Colous writesec "[14] %nombre%" & echo+
  22. Colous writesec "[7] Formato: [14]MP3 (LAME)"
  23. Colous writesec "[7] Bitrate:[14] CBR 160 Kbps"
  24. Colous writesec "[7] Preset:[14] Highest quality (Slow)"
  25. coreconverter.exe -infile="%D%\%nombre%" -outfile="%D%\%nombre%" -convert_to="LAME" -b 160 --cbr -encoding="SLOW"
  26. sleep 2
  27. goto:eof
  28. )

CD %D% Es la ruta del directorio "clickado", todo funciona bien hasta que llega a la parte donde tiene que buscar el codec " L A M E ", como lo busca con espacios no lo encuentra....

Si ejecuto el batch normal, busca el codec "LAME" sin espacios...

Espero que entiendan lo que quiero decir.. y que puedan ayudarme xD
155  Programación / Scripting / [ BATCH] F.A.R.T. (Find And Replace Text) El nombre lo dice todo, es muy bueno! en: 19 Marzo 2011, 10:42 am
Hola, me he encontrado una utilidad muy buena en el foro de AutoIt, y quiero compartirla...

Personalmente como soy usuario de Windows 7, no tengo el EDLIN.exe, y estoy muy cansado de lo complicado que se me hace usar el SED.exe, en cambio, FART deslumbra por su sencillez de uso, Aunque eso no significa que no pueda hacer tares dificiles!

Un ejemplo fácil es:

Código:
FART.exe -q lista.txt \" --remove

Con ese comando elimina todas las comillas dentro del archivo lista.txt

Código:
FART.exe -q lista.txt hola adios

Con ese comando busca TODAS las palabras "hola" y las sustituye por "adios"




Código:
Usage: FART [options] [--] <wildcard>[,...] [find_string] [replace_string]

Options:
 -h --help          Show this help message (ignores other options)
 -q --quiet         Suppress output to stdio / stderr
 -V --verbose       Show more information
 -r --recursive     Process sub-folders recursively
 -c --count         Only show filenames, match counts and totals
 -i --ignore-case   Case insensitive text comparison
 -v --invert        Print lines NOT containing the find string
 -n --line-number   Print line number before each line (1-based)
 -w --word          Match whole word (uses C syntax, like grep)
 -f --filename      Find (and replace) filename instead of contents
 -B --binary        Also search (and replace) in binary files (CAUTION)
 -C --c-style       Allow C-style extended characters (\xFF\0\t\n\r\\ etc.)
    --cvs           Skip cvs dirs; execute "cvs edit" before changing files
 -a --adapt         Adapt the case of replace_string to found string
 -b --backup        Make a backup of each changed file
 -p --preview       Do not change the files but print the changes


Se puede descargar desde aquí:
http://sourceforge.net/projects/fart-it/files/fart-it/1.99b/fart199b_win32.zip/download
156  Programación / Scripting / (SOLUCIONADO) [ Batch ] Problemilla con variable Set /a... en: 18 Marzo 2011, 07:12 am
hola, ya tengo otro problema que me trae de cabeza :S les recorto el trozo que interesa, del script:

Código
  1. Set Num=0
  2.  
  3. blabla... ...& findstr blablabla & call :proceso
  4.  
  5. :proceso
  6. IF %ERRORLEVEL% EQU 0 set /a num+=1 & blablabla lo que sigue...
  7.  
  8. :Terminar
  9. set /a num+=6 & mode con lines=%num%
  10.  
... pero el número siempre es "1", y no se porque.


Así que para probar, hice esto:
Código:
echo %num%
set num2=%num%
set /a num2+=6
echo numero nuevo:%num2%
pause
Y el resultado es esto:



¿Porque no me deja?


PD: En cambio, si repito el proceso manualmente en la consola, si que me deja, así que he pensado que el problema puede estar en los caracteres "%", pero ya he probado cambiandolos y nada...
157  Programación / Scripting / (SOLUCIONADO) [ BATCH ] Cual es el parámetro para cortar un nombre? en: 17 Marzo 2011, 02:55 am
Sé que el titúlo del post es malo, pero no se definirlo mejor xD


A ver, porfavor sacarme de esta duda que tengo

Código:
Set uno=dos tres
Echo %uno%

Creo que hay un comando para permitir "cortar" frases

Yo pensaba que se hacía así: (Pero no... :/)

Código:
Echo %uno~4%

Quiero que los últimos 4 dígitos de la frase no se muestren
158  Media / Multimedia / (SOLUCIONADO) Pregunta para Songoku o quien pueda ayudarme con dbPowerAmp en: 16 Marzo 2011, 19:22 pm
Hola, no he sabido muy bien si postear esto en scripting o mejor aqui, en multimedia, porque creo que Songoku o Armando serían mi única esperanza xDDD

estoy haciendo un batch para ahorrarme la tira de trabajo a diario... en fin resulta que llego a un punto donde tengo un error y no se porque, si el codec lo tengo bien instalado...

Songoku, no sabrás usar el dbpoweramp mediante linea de comandos verdad? me salvarías la vida xD

Bueno este es el código de prueba:

Código:
coreconverter.exe -infile="%nombre%" -outfile="%nombre%" -convert_to="mp3 (Lame)" -V 6 & pause

y este el error:



Se agradece a cualquiera que pueda aportarme algo...
Esto me desespera, la verdad...

Saludos!


EDITO: Uf, había un fallo al resolver el nombre del archivo, quedaba un espacio al final y entonces la extensión se reconocía como ".mp3 " y claro, no encontraba ningun codec para eso, ya está.

Pero ahora tengo otro problema, necesito saber los comandos para asignarle un bitrate de compresión mediante el coreconverter.exe :/ y ni idea...
159  Programación / Scripting / (SOLUCIONADO) [ BATCH ] Ayuda con "findstr"... y contador en: 16 Marzo 2011, 11:55 am
Hola, hago este tema aparte porque lo veo distinto, espero que sea lo correcto...

Bueno, el problema es que, a ver... si yo ejecuto este comando:
Código:
mplayer 1.mp3 -frames 0

se me muestra esta información:


Yo quiero buscar distintas "frases" ahi dentro como "320.0 kbit" "192.0 kbit" o "224.0 kbit", con findstr, así que para buscar 320.0 kbit hago esto:
Código:
mplayer "%%a" -frames 0 | findstr /c:"320.0 kbit" 

Pero claro, para buscar todas las frases al mismo tiempo no se hacerlo, porque no las puedo separar con comillas en findstr...
___________________________________________________________________________________________________________

EDITO: Ya he aprendido a separar las busquedas, lo estaba haciendo muy mal, tenía que usar comodines y espacios, pero ahora el problema cambia, necesito hacerlo de un modo distinto, tengo que crear un contador dentro de este comando:

Código:
for /f "tokens=*" %%a in ('dir /B *.mp3') do set nombre="%%a" & mediainfo "%%a" | findstr Bit.rate.........................:.320.Kbps >null & call :error

El contador debe sumar el valor de findstr (el numero) desde 161 hasta 320, y comrobarlos todos

Ejemplo:
Código:
 | findstr 161.kbps >null & call :error
 | findstr 162.kbps >null & call :error
 | findstr 163.kbps >null & call :error
 | findstr ...
 | findstr 320.kbps >null & call :error

como leches se hace eso? xDDD
160  Programación / Scripting / (SOLUCIONADO)[ BATCH ] Ayuda con FOR / Analizar bitrate mp3 de archivos. en: 16 Marzo 2011, 09:57 am
Necesito saber como puedo hacer para analizar (Dentro de un directorio) el bitrate de los archivos mp3, lo que realmente necesito es saber cuales son MAYORES de 160 kbps para asignarle un proceso, y olvidarme de los menores de 160 kbps...mediante un batch...

Alguien me puede ayudar con este tema? :/


EDITO: Vale, rebuscando mucho al final me he ayudado del mplayer, aunque el proceso tarda mucho..unos 5 segundos para "escanear" un archivo, pero algo es algo... he conseguido hacer esto, pero está mal echo:

Código:
@echo off

for /f "tokens=*" %%a in ('dir /B *.mp3') do mplayer "%%a" -frames 0 | findstr /c:"320.0 kbit" >null & call :error

:error
IF %ERRORLEVEL% LEQ 0 echo %%a es mayor de 160 kbps & pause
IF NOT %ERRORLEVEL% LEQ 0 echo %%a es menor de 160 k & pause

El problema es en la parte del errorlevel " echo %%a es mayor de 160 kbps & pause" no se m muestra el nombre del archivo, esto es un inconveniente porque entonces como puedo trabajar con el nombre del archivo para asignarle algún proceso?

Una imagen para que me entendais:



Si no me resuelve el nombre del archivo de FOR, entonces no podré hacer un...
Código
  1. IF %ERRORLEVEL% LEQ 0 "Reducir_Bitrate.exe" "%%a"

... :(

Aqui hay muchos expertos, seguro que algo se me ha pasado por alto... espero ayuda, graciasss
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 23 24 25
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines