[Batch] ExtensionChanger v1.0

Iniciado por .;., 8 Febrero 2009, 17:40 PM

0 Miembros y 1 Visitante están viendo este tema.

.;.

@echo off
title Extension Changer v 1.0
SETLOCAL
set "programa=%~1"
:tdk
echo Introduciste este archivo:%programa%.
set /p ext1="Seguro que quieres modificar su extension(S/N)? "
IF /i %ext1%==s (GOTO CHAEXT)
IF /i %ext1%==n (GOTO:EOF)
IF NOT DEFINED %ext1% GOTO

:CHAEXT
set extpro=%programa:~-4%
IF /i %extpro%==.bat goto BAT
IF /i %extpro%==.mp3 goto mp3
IF /i %extpro%==.txt goto txt
IF /i %extpro%==.jpg goto img
IF /i %extpro%==.bmp goto img
IF /i %extpro%==.gif goto img
IF /i %extpro%==.psd goto img
IF /i %extpro%==.ico goto img
IF /i %extpro%==.doc goto txt
IF /i %extpro%==.pdf goto txt
IF /i %extpro%==.rtf goto txt
IF /i %extpro%==.wma goto mp3
IF /i %extpro%==.wmv goto mp3
IF /i %extpro%==.wav goto mp3
IF /i %extpro%==.cda goto mp3
IF /i %extpro%==.avi goto vid
IF /i %extpro%==.mpg goto vid
IF /i %extpro%==.mp4 goto vid
IF /i %extpro%==.mov goto vid
IF /i %extpro%==.div goto vid
IF /i %extpro%==.dvd goto vid
echo Archivo no reconocido por el ExtensionChanger v 1.0
pause>nul&exit
:BAT
Mode CON Cols=40 Lines=10 &cls
echo Esto es un archivo por lotes de MS-DOS.
GOTO CHAbat
:img
Mode CON Cols=40 Lines=10 &cls
echo Esto es una imagen.
GOTO chaimg
:mp3
Mode CON Cols=40 Lines=10 &cls
echo Esto es un archivo de musica.
GOTO chamus
:vid
Mode CON Cols=40 Lines=10 &cls
echo Esto es un video
GOTO chavid
:txt
Mode CON Cols=40 Lines=10 &cls
echo Esto es un archivo de texto.
GOTO chatexto

:chabat
set ext=txt
>NUL COPY /Y "%~F1" "%~DPN1.%EXT%"
exit
:chatexto
ECHO 1-TXT&ECHO 2-DOC&ECHO 3-PDF&ECHO 4-RTF
set /p chatxt="Conque extension se abrira el archivo?"
if %chatxt%==1 (set ext=txt)
if %chatxt%==2 (set ext=doc)
if %chatxt%==3 (set ext=pdf)
if %chatxt%==4 (set ext=rtf)
>NUL COPY /Y "%~F1" "%~DPN1.%EXT%"
exit
:chaimg
ECHO 1-BMP&ECHO 2-JPG&ECHO 3-ICO&ECHO 4-GIF
set /p ima="Conque extension se abrira el archivo?"
if %ima%==1 (set ext=bmp)
if %ima%==2 (set ext=jpg)
if %ima%==3 (set ext=ico)
if %ima%==4 (set ext=gif)
>NUL COPY /Y "%~F1" "%~DPN1.%EXT%"
exit
:chamus
ECHO 1-MP3&ECHO 2-WAV&ECHO 3-WMA&ECHO 4-WMV&ECHO 5-CDA
set /p mus="Conque extension se abrira el archivo?"
if %mus%==1 (set ext=mp3)
if %mus%==2 (set ext=wav)
if %mus%==3 (set ext=wma)
if %mus%==4 (set ext=wmv)
if %mus%==5 (set ext=cda)
>NUL COPY /Y "%~F1" "%~DPN1.%EXT%"
exit
:chavid
ECHO 1-MPG&ECHO 2-MOV&ECHO 3-DIV&ECHO 4-AVI&ECHO 5-DVD&ECHO 6-MP4
set /p vid="Conque extension se abrira el archivo?"
if %vid%==1 (set ext=mpg)
if %vid%==2 (set ext=mov)
if %vid%==3 (set ext=div)
if %vid%==4 (set ext=avi)
if %vid%==5 (set ext=dvd)
if %vid%==6 (set ext=mp4)
>NUL COPY /Y "%~F1" "%~DPN1.%EXT%"
exit


Después de semanas sin hacer nada en BATCH, vuelvo para poner este código. Arrastra el archivo al cual desees modificar su extensión.

Esta es la versión 1.0

Saludos!

leogtz

Hola, como ya habia respondido, una version mas corta :
@echo off
setlocal enabledelayedexpansion
:: Cambia la extension de un archivo :
if ["%~1"]==[""] (goto:syntaxis)
if /i ["%1"]==["-h"] (goto:syntaxis)
if not exist "%~1" (
echo.No existe el archivo.
goto:syntaxis
)
if ["%2"]==[""] (goto:syntaxis)
set "ext=%2"
ren "%~1" "%~n1!ext!"
exit /b 0
:syntaxis
echo.%~nx0
echo.Modo de uso :
echo.%~nx0 Archivo Extension-a-establecer
echo.Ejemplo :
echo.%~nx0 code.txt .cpp
exit /b 1


Que estes bien :)
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

.;.

Yo ando genial.. ;D

Cuando me anime pondre la versión 2.0

Con más extensiones e intentando optimizar y minimizar el code.

Saludos RockoX ;D