Variable sur la taille d'un fichier

remi.poncet -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je vais essayer d'expliquer mon problème le plus clairement que possible.
Je cherche à automatiser le transfert de fichiers via netcat d'un PC à un autre.
Le seul moyen pour cela est de transmettre la taille maximale qu'on appelera %sizeMAX% de PC1 à PC2 dans le nom du fichier que l'on va envoyer => %sizeMAX%.png par exemple. [c'est le seul moyen de transmettre cette information.]. Puis de comparer en continu la taille du fichier entrain d'être téléchargé [%CURRENTsize%] avec %sizeMAX%.

@echo off
:again
if %CURRENTsize%=%sizeMAX% goto done
goto again
:done
taskkill /f /im netcat.exe

Le problème est tout d'abord que :

set file=%userprofile%\test.png

echo set len=%%~z1 >_tmp.bat
call _tmp.bat %file% && del _tmp.bat
echo %len%

cd %userprofile%\Folder
copy picture.png %userprofile%\%len%.png
pause

Plusieurs problèmes => %CURRENTsize% se termineras logiquement en .png alors que %sizemax% non.
=> le script ci dessus ne marche pas
=> D'autres petits détails ..

Merci d'avance d'avoir pris le temps de me lire, j'attend vos réponses avec impatience !
A voir également:

8 réponses

remi.poncet
 
Arf, up.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
j'ai pas tout compris quelle est la question, mais pour supprimer .png d'une variable, faire:
C:> set a=100.png
C:> echo %a:.png=%
100
0
remi.poncet
 
Il y a plusieurs questions , celle à laquelle vous venez de répondre en était une.
La deuxième est : comment faire pour renommer une image en SONPOIDS.png ?
Et ensuite sur le deuxième pc comparer le nom de l'image SONPOIDS (qui est donc le poids maximal de l'image) avec le poids actuel (en cours de téléchargement) donc quand le téléchargement sera fini il faut que SONPOIDS = poids actuel
tu me suis?
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
pour obtenir la taille de fichier.png
for %%a in (fichier.png) do echo taille: %~za
pour renommer une image par sa taiile, par ex. image.png
set img=image.png
for %%a in (%img%) do mv %a %~za.png
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
remi.poncet
 
Merci beaucoup, votre aide m'est précieuse.
J'ai une autre question : quel est la commande pour set une variable composée d'une ligne dans un fichier txt ?
par exemple prenons test.txt
ligne 1 : 8538
j'aimerais que set soit égal à 8538 seulement
est - ce possible ? merci d'avance.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
le nombre étant le 4ème champ de la ligne (par défaut, le séparateur est un espace)
for /f "tokens=4" %%a in (fichier.txt) do @echo %%a
0
remi.poncet
 
Bon d'accord les liens puush sont interdis .. 3 fois qu'on supprime mes messages.
Donc votre commande me donne le bon résultat mais ce que je voudrais c'est que je puisse entrer echo %variable% = 921654
Merci
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
j'ai pas compris ce que tu veux
0
remi.poncet
 
Set une variable qui me donne le même résultat que la commande que tu m'a donné

de sorte à ce que echo %variable% me donne le résultat de ta ligne; 912654
0
remi.poncet
 
C'est toujours pas assez clair?
Mon but c'est de comparer deux variables; j'ai la première il me faut la deuxième qui doit être la première ligne du fichier txt
0
remi.poncet
 
hm? :/
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
nombre a la valeur trouvée dans le fichier
for /f "tokens=4" %%a in (fichier.txt) do (
set nombre=%%a
..
...
)
0