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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: [1] 2 3
1  Programación / PHP / Re: url en funcion php en: 3 Agosto 2021, 10:30 am
Gracias por la sugerencia pero a veces utilizo los comodines \..\ en curl y otras aplicaciones no los gestionan bien.
2  Programación / PHP / Re: url en funcion php en: 7 Abril 2021, 18:13 pm
Gracias, funciona perfecto.
3  Programación / PHP / url en funcion php en: 7 Abril 2021, 14:02 pm
Quiero obtener el tamaño de un archivo remoto y he encpntrado esta función php que funciona...

Código
  1. <?php
  2. function retrieve_remote_file_size($url){
  3.     $ch = curl_init($url);
  4.  
  5.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  6.     curl_setopt($ch, CURLOPT_HEADER, TRUE);
  7.     curl_setopt($ch, CURLOPT_NOBODY, TRUE);
  8.  
  9.     $data = curl_exec($ch);
  10.     $size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
  11.  
  12.     curl_close($ch);
  13.     return $size;
  14. }
  15. echo retrieve_remote_file_size("https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png");
  16. ?>
... me devuelve el tamaño del logo en bites 5969.
Si a la url que quiero llegar le quiero poner los comodines /../ tengo que indicar a curl "--path-as-is" para que no anule los comodines.

El problema es que no se donde colocar "--path-as-is" en la función php.







4  Programación / Scripting / restar dias en: 3 Abril 2021, 18:58 pm
Tengo este código para obtener la fecha en formato dd-mm-yyyy

Código
  1. @echo off
  2. for /f "tokens=2 delims==" %%G in ('wmic os get localdatetime /value') do set datetime=%%G
  3. set yyyy=%datetime:~0,4%
  4. set mm=%datetime:~4,2%
  5. set dd=%datetime:~6,2%
  6. set dd=%datetime:~6,2%
  7. echo %dd%-%mm%-%yyyy%

Que da este resultado hoy 03-04-2021

Si al día le sumo o resto una unidad no mantiene el formato de dos cifras si es menor 10.
Cómo puedo hacer para restar uno cada vez  que quiera y siempre guarde el formato de dos cifras en el día.
Si hago esto:
Código
  1. set /a dd=%dd%-1
  2. echo %dd%-%mm%-%yyyy%
El resultado es 2-04-2021 no es el que quiero 02-04-2021
No sirve la opcion de añadir el cero...
Código
  1. if %dd% LSS 10 set dd=0%dd%
porque la suma o resta se puede repetir y añadiría un cero cada vez. Las veces que se repita la resta es variable.

5  Programación / Scripting / Re: listar archivos a texto con formato en: 27 Marzo 2021, 09:46 am

...Para usarlo en un .bat hay que poner dobles %%:

Código
  1. (for /f %%a in ('dir /b *.jpg') do @set/p="%%a "<nul)>listado.txt


Muchas gracias este me va perfecto.
6  Programación / Scripting / listar archivos a texto con formato en: 26 Marzo 2021, 19:23 pm
Hola de nuevo.

Alguien sabe decirme como podría listar los archivos de un directorio a un archivo de texto y el texto de ese archivo sea en este formato:

archivo1.jpg archivo2.jpg archivo3.jpg archivo4.jpg

Cada nombre de archivo separado por un espacio y la búsqueda sea por extensión de archivo.

Buscar todos los "jpg" del directorio ya se, pero sacarlos en formato lineal separado por espacios ni idea de si se puede. Lo suyo sería con un bat pero me da lo mismo el tipo de script que escriba el archivo de texto.

Gracias.
7  Programación / Scripting / remotezip en python en: 23 Febrero 2021, 21:37 pm
Estoy enredando con python para obtener archivos en remoto desde un zip.

Esto lo tengo claro que debe ser así

Código
  1. import os
  2. import subprocess
  3. from remotezip import RemoteZip
  4. with RemoteZip(url.zip) as zip:
  5.    zip.extract('archivo.txt')
  6.  

Por otra parte uso curl con el parametro --path-as-is para poder utilizar los comodines /../ en el enlace.

Para usar curl en python hago así:
Código
  1. import os
  2. import subprocess
  3. subprocess.run('curl.exe --path-as-is "http://servidor/../directorio/archivo.zip" -o archivo.zip')
  4.  

La pregunta es cómo puedo usar una url con los comodines /../ en RemoteZip o como paso el contenido que obtiene curl a remotezip para obtener solo el archivo.txt sin descargar el zip o leer el  texto en remoto.


[MOD] Usar la etiqueta GeSHi correcta.
  
8  Programación / Scripting / Re: el signo = en: 2 Octubre 2017, 12:49 pm
Esta llamada funciona bien con el script como estaba y tambien modificandolo como me dices:
Código:
    @Echo OFF
    PUSHD "%TEMP%\ttdje"
    PowerShell.exe "& \"%CD%\script.ps1\" "
    POPD



Modificando el script y con la llamada vieja en el bat que teníamos, no rula:

Código:
    Set-Location ([System.IO.Path]::GetTempPath() + "ttdje")
    Write-Host (Get-Location)
 
    $srcFilePath  = ".\temp.txt"
    $dstFilePath  = ".\temp2.txt"
    [System.Reflection.Assembly]::LoadWithPartialName("System.Text.dll")

    $textEncoding = [System.Text.Encoding]::Default
     
    $filecontent  = [System.IO.File]::ReadAllText($srcFilePath, $textEncoding) 

    $replacedText = ($filecontent).Replace(".zip", "")
 
    [System.IO.File]::WriteAllText($dstFilePath, $replacedText, $textEncoding)
     
    Write-Host $replacedText

    Exit(0)

... así tampoco

Código:
    Set-Location ([System.IO.Path]::GetTempPath() + "ttdje")
    Write-Host (Get-Location)
 
    $srcFilePath  = ".\temp.txt"
    $dstFilePath  = ".\temp2.txt"

    $textEncoding = [System.Text.Encoding]::Default
     
    $filecontent  = [System.IO.File]::ReadAllText($srcFilePath, $textEncoding) 

    $replacedText = ($filecontent).Replace(".zip", "")
 
    [System.IO.File]::WriteAllText($dstFilePath, $replacedText, $textEncoding)
     
    Write-Host $replacedText

    Exit(0)

Dejo el bat con esta llamada:

Código
  1.    @Echo OFF
  2.    PUSHD "%TEMP%\ttdje"
  3.    PowerShell.exe "& \"%CD%\script.ps1\" "
  4.    POPD

y el script así:

Código
  1.    Set-Location ([System.IO.Path]::GetTempPath() + "ttdje")
  2.    Write-Host (Get-Location)
  3.  
  4.    $srcFilePath  = ".\temp.txt"
  5.    $dstFilePath  = ".\temp2.txt"
  6.    [System.Reflection.Assembly]::LoadWithPartialName("System.Text.dll")
  7.  
  8.    $textEncoding = [System.Text.Encoding]::Default
  9.  
  10.    $filecontent  = [System.IO.File]::ReadAllText($srcFilePath, $textEncoding)  
  11.  
  12.    $replacedText = ($filecontent).Replace(".zip", "")
  13.  
  14.    [System.IO.File]::WriteAllText($dstFilePath, $replacedText, $textEncoding)
  15.  
  16.    Write-Host $replacedText
  17.  
  18.    Exit(0)

Así funciona.

9  Programación / Scripting / Re: el signo = en: 1 Octubre 2017, 21:09 pm
Lo he dicho mal porque ni yo misma lo entendía

Tengo el bat ejecutando en "E:\PS\prueba_descomprime", con la llamada mencionada que si que rula.

Pero lo que no se es escribir la variable en el script.ps1 el script está así:

Código:
    [System.Reflection.Assembly]::LoadWithPartialName("System.Text.dll")
     
    $srcFilePath  = ".\temp.txt"
    $dstFilePath  = ".\temp2.txt"
    $textEncoding = [System.Text.Encoding]::Default
     
    $filecontent  = [System.IO.File]::ReadAllText($srcFilePath, $textEncoding) 

    $replacedText = ($filecontent).Replace(".zip", "")
 
    [System.IO.File]::WriteAllText($dstFilePath, $replacedText, $textEncoding)
     
    Write-Host $replacedText

    Exit(0)

Ejecutado el script con el botón derecho funciona bien porque lo ejecuto en la carpeta temporal: "C:\Users\YO\AppData\Local\Temp\ttdje"

Pero realizando la llamada desde el bat lo único que hace es crear un archivo temp2 vacío en la ubicación del bat.
Solución a esto es poner la ruta en el script y entonces si que rula.

Pero si me llevo el código a otro pc ya no rula porque la ruta que tiene temp es diferente, la solución es poner la ruta %Temp% en el script.ps1 en forma de variable en vez de ruta absoluta eso es lo que no se como hacer cuál es la redacción de la ruta "%TEMP%\ttdje\temp.txt" en Power Shell








10  Programación / Scripting / Re: el signo = en: 1 Octubre 2017, 14:37 pm
Estoy tratando de usar el ps1 de Elektro para mi código.
El primer problema que he tropezado es con los permisos de ejecución de script power shell en el pc ya que la llamada

Código:
    @Echo OFF
    PowerShell.exe "C:\Ruta absoluta del script.ps1"

No funciona.

Investigando el tema he llegado a la conclusión que es problema de permisos ya que cada vez que ejecuto el ps1 --> botón derecho ejecutar con PS la consola pide permiso para la ejecutar ese script.

He descubierto que la llamada desde cmd se puede hacer así (igual le sirve a alguien):

Código:
@Echo OFF
PowerShell.exe -ExecutionPolicy Bypass -Command "& Ruta absoluta del script" >nul

Hasta ahí he llegado bien, ahora el problema que me surge y no soy capaz de encontrar solución, es
la gestión de la ruta. El script rula bien si pongo todos los archivos en el mismo directorio pero mi código.bat estaba dirigido a la ruta %temp%\ttdje la ruta con la variable %temp% la tengo clara en cmd pero pero como se escribe la ruta   %temp%\ttdje en power shell, porque poniendo la ruta absoluta va bien, pero me gustaría poner la variable de la carpeta temp pero no se como se redacta en Power Shell y esto ya se que no rula:

Código:
@Echo OFF
PowerShell.exe -ExecutionPolicy Bypass -Command "& %temp%\ttdje\script.ps1" >nul

Imagino que el problema es que las variables de ruta no se escriben igual y en esa llamada, pese a ser desde cmd la variable de temp deberá ir escrita para PowerShel.

Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines