2015-07-15 1 views
0

J'ai trouvé une réponse ici: How can I check the size of a file in a Windows batch script? et il fonctionne bien si le chemin du fichier est sans espaces, mais pas si elle a des espacesComment vérifier la taille d'un fichier dans un chemin avec des espaces dans un script batch

Exemple:

set file=C:\Example.txt 
FOR /F "usebackq" %%A IN ('%file%') DO set size=%%~zA 

œuvres, mais

set file=C:\Program Files\Example.txt 
FOR /F "usebackq" %%A IN ('%file%') DO set size=%%~zA 

pas, j'essayé de guillemet le chemin dans la déclaration des variables

set file="C:\Program Files\Example.txt" 

et/ou pour la variable de fichier boucle

FOR /F "usebackq" %%A IN ('"%file%"') DO set size=%%~zA 

mais aucun fonctionne

Répondre

1
set "file=C:\Program Files\Example.txt" 
for %%A in ("%file%") do set "size=%%~zA" 

Il n'y a pas besoin d'une commande for /f (son utilisation normale est de traiter le contenu des fichiers ou des chaînes ou la sortie de l'exécution de la commande), une commande for pour saisir une référence à un fichier suffira.