Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ovichan

#31
Buenas, estoy haciendo una prueba para despues poder implementar una movida absurda de las que me hago en casa ^^. El caso es que intento buscar un archivo por su string para que me devuelva la ruta completa, pero al hacer la comparacion con el IF, el caso es sensitivo. Entonces necesitaria hacer un lowcase.

Me explicare mejor con el codigo, jeje

set /p nombre="Introduzca el nombre a buscar: "

for /r c:\ %%@ in ("%nombre%.*") do (

if "%%~n@"=="%nombre%" echo %%@

)


Por ejemplo estoy buscando la palabra "megui", pero este archivo esta almacenado con el string "MeGUI". Entonces, si no inserto en el set, lo mismo no me devuelve ningun resultado.
#32
[quote author=EleKtro H@cker link=topic=376384.msg1802310#msg1802310 date=1353328859]
:APPSearch
(
DIR /B /AD "%PROGRAMFILES%\%~1"      >NUL 2>&1 && SET "PF=%PROGRAMFILES%" || (
DIR /B /AD "%PROGRAMFILES(x86)%\%~1" >NUL 2>&1 && SET "PF=%PROGRAMFILES(x86)%")
) && (
Echo %~1 esta instalado en:
Call Echo "%%PF%%\%~1"
Exit /B 0
) || (
Echo %~1 no esta instalado.
Exit /B 1
)
GOTO:EOF




Una pregunta del codigo que no quise preguntarte pero me esta corroyendo jeje. El >nul lo utilizas para que redireccione el resultado del dir a nul, o sea para que no muestre nada en pantalla. Y el 2>&1, es para redirigir el posible error a 1, de manera que no muestre nada en pantalla. Hasta ahi creo que estoy en lo cierto, pero el uso de &, delante del 1, es porque has pasado un parametro a la etiqueta al usar call, no?? En un codigo sin usar call, seria simplemente 2>1, no? Lo del exit, es como return 0 (sin errores).

Al final te metere en nomina, aunque tocariamos a poco ¬¬'
#33
Juas, asi es mas sencillo, si señor. Si te fijas, casi lo que habia hecho era crear mi entorno en C donde me desenvuelvo mejor, porque esta sintaxis es delicada, pero sin duda gracias a ti aprendo mucho más.

Pense en buscar el ejecutable, de hecho hay scripts sencillitos, incluso vi alguno de Leo, pero era por cambiar y no buscar un archivo sino una carpeta.

Gracias Elektro ^^
#34
Buenas, por motivos un tanto raros he creado este script. Mi duda mas bien es para optimizar el codigo a algo que seguramente se pueda hacer mas sencillo que todo el codigo que he usado, y que ahora pongo.

Principalmente sirve para localizar la instalacion de un programa portable, en este caso VirtualDub.

Código (dos) [Seleccionar]

@echo off

:: Nos situamos en la siguiente carpeta

cd /d "%homedrive%\Program Files (x86)"

:Listamos directorios de la carpeta actual y comprobamos si se encuentra Virtualdub en ella

dir /b > "%temp%\info_vdub.txt"

::Buscamos coincidencia de string, creamos un archivo de texto para valernos del mensaje de errorlevel.

Find /i "virtualdub" < "%temp%\info_vdub.txt" > "%temp%\StringCheck.txt"

If %ERRORLEVEL% == 0 (
set "x86=true"
) else (
set "x86=false"
)
::Borramos archivos temporales

del "%temp%\StringCheck.txt"
del "%temp%\info_vdub.txt"

set "path_x86=%cd%"

:: Nos situamos en la siguiente carpeta y hacemos mas de lo mismo

cd /d "%homedrive%\Program Files"


dir /b > "%temp%\info_vdub.txt"

Find /i "virtualdub" < "%temp%\info_vdub.txt" > "%temp%\StringCheck.txt"

If %ERRORLEVEL% == 0 (

set "x64=true"
) else (
set "x64=false"
)

::Borramos archivos temporales

del "%temp%\StringCheck.txt"
del "%temp%\info_vdub.txt"

set "path_x64=%cd%"

::Info en pantalla

Echo VirtualDub esta instalado en:
echo.

if "%x86%"=="true" (

echo %path_x86%
echo.
)

if "%x64%"=="true" (

echo %path_x64%
echo.

)
#35
Pues al final lo he hecho funcionar con este, que es similar:

@echo off
Title Conexion a FTP remoto

::Definimos variables del archivo temporal
set "user=******"
set "pass=*******"
set "arch=C:\Prueba.txt"

::Creamos archivo temporal
(
echo open IP
echo %user%
echo %pass%
echo cd OVERDRIVE
echo put C:\Users\Isra\Documents\Prueba.txt
echo close
echo bye
)>"%temp%\orden_FTP.txt"

::Comunicacion con el servidor
ftp.exe -i -s:"%temp%\orden_FTP.txt"
del /q "%temp%\orden_FTP.txt"
pause&exit


Gracias ElectroCrack
#36
Entonces este codigo serái valido?

@echo off
Title Conexion a FTP remoto

rem set servidor=nombre_de_mi_servidor

::Definimos variables del archivo temporal

set "user=mi_usuario"
set "pass=***********"
set "arch=%UserProfile%\Documents\Base_datos.adb"

:Creamos archivo temporal

(
echo %user%
echo %pass%
echo cd carpeta
echo put %arch%
echo close
echo bye
)>>"%temp%\orden_FTP.txt"

::Comunicacion con el servidor

ftp -s:"%temp%\orden_FTP.txt" IP
del "%temp%\orden_FTP.txt"

exit


EDITO: Entra en bucle la creacion del archivo orden_FTP.txt y no se porque  :silbar:
#37
Buenas, este script que pones valdria para poder conectarme con mi ftp y enviar un archivo, sin que me pida confirmacion de sobreescritura???
#38
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
#39
Cita de: EleKtro H@cker 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 (dos) [Seleccionar]
@echo off
Title Listar nombres capitulos

REM Esto para el alfabeto latino
CHCP 1250 >nul

if exist "lista.txt" (erase "lista.txt")

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

set "nom=%%i"

       REM Y esto para evitar la expansión y no perder otros caracteres.
CALL Echo %%nom:~1%%>>"lista.txt"
)

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.
#40
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:

@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: