Variable sur la taille d'un fichier
remi.poncet
-
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
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 !
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:
- Variable sur la taille d'un fichier
- Comment réduire la taille d'un fichier - Guide
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Forcer la suppression d'un fichier - Guide
8 réponses
hello
j'ai pas tout compris quelle est la question, mais pour supprimer .png d'une variable, faire:
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
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?
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?
pour obtenir la taille de fichier.png
for %%a in (fichier.png) do echo taille: %~zapour renommer une image par sa taiile, par ex. image.png
set img=image.png
for %%a in (%img%) do mv %a %~za.png
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.
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