Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    188

    [DOS] Nome di un file con parentesi in un comando FOR

    Salve.
    Ho questo comando:

    codice:
    FOR /f "usebackq tokens=1-20 delims= " %%D IN (`"CERTUTIL -hashfile C:\Users\Public\Downloads\%nome_file% | findstr /v Hash | findstr /v CertUtil"`) DO (
    @ECHO %%D%%E%%F%%G%%H%%I%%J%%K%%L%%M%%N%%O%%P%%Q%%R%%S%%T%%U%%V%%W>> C:\Users\Public\Downloads\%data%_%id%_Download.txt
    )
    che funziona perfettamente (per eliminare gli spazi dalla stringa dell'hash SHA1) finchè la variabile %nome_file% non contiene parentesi (tonde). In questo caso il comando FOR interpreta la parentesi chiusa come chiusura del "gruppo", e tutta la sintassi va a farsi benedire.
    Qualche idea?
    Grazie in anticipo.

  2. #2
    Non credo batch fornisca alcunché di integrato per l'escaping dei caratteri problematici, il mio consiglio è, oltre una certa complessità, di abbandonare il batch e passare ad un linguaggio di scripting "vero".
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.