Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Compter les caractères d'une arborescence de dossiers.
Auteur Message
Répondre en citant
Message Compter les caractères d'une arborescence de dossiers. 
Bonjour à tous,

Je viens solliciter votre aide car je ne m'en sors pas.
Je voudrais un programme batch qui compte les caractères des arborescences de mes dossiers de mon disque c: et ensuite lister les chemins et leur nombre de caractères dans un fichier texte. Ceci afin de pouvoir connaitre ceux de plus de 230 caractères.
Je pense qu'il faut que j'emploi la commande tree mais je ne sais pas comment faire pour que cela le fasse.

Merci beaucoup de votre aide.



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Compter les caractères d'une arborescence de dossiers. 
salut,

avec la commande dir et gnu sed, tu devrais arriver à tes fins.



Répondre en citant
Message Compter les caractères d'une arborescence de dossiers. 
Tu veux compter quoi exactement ?
Détail ta question avec un exemple.

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Compter les caractères d'une arborescence de dossiers. 
sachadee a écrit:
Tu veux compter quoi exactement ?
Détail ta question avec un exemple.

Okay


voici ce que je voudrais faire EX :

Sur "C:" j'ai un dossier qui se nomme "essai" qui a un dossier "essai2" qui a un fichier nommé "essai3". Dans mon exemple le chemin est " c:\essai\essai2\essai3" soit un chemin de 22 caractères.
je voudrais donc créer un .bat qui se charge de copier les chemins et le nombre de caractères de chaque chemin dans un fichier .txt.

Par la suite suivant le nombre de caractères, les chemins seront inscrits dans différents fichiers mais ça je saurais le faire.

Merci d'avance pour vos réponses.

Isalou



Répondre en citant
Message Compter les caractères d'une arborescence de dossiers. 
Il faut lire des tutos et se renseigner un minimum avant de demander Twisted Evil Twisted Evil
Google => batch compter caractere chaine => http://batch.xoo.it/t2494-Compte-les-caracteres-d-une-variables.htm


Mais bonne question Laughing

Citation:
@Echo Off
Set "Chaine=qq chose"
Set nb=0
:Boucle
if "%Chaine%"=="" Echo Terminer : %nb% caracteres & pause
Set/A nb+=1
Set "Chaine=%Chaine:~1%"
Goto Boucle





______________________________________________________
Clickez sur Saturne pour voir mes tutoriels et sur la Terre pour voir mon Forum:


Skype
Répondre en citant
Message Compter les caractères d'une arborescence de dossiers. 
Isalou tu peux faire comme cela :

Code:
@echo off
setlocal enabledelayedexpansion
for /f  "delims=" %%a in ('dir /s/ad/b') do call:compte "%%a"
exit /b
:compte
Set $Tstring=%~1
for /l %%b in (0,1,9000) do (
  set $t=!$Tstring:~%%b,1!
  if not defined $t (
      echo %1 =  %%b caracteres
      pause
      exit /b))


Il te suffit d'executer le bat depuis la racine [c:\] et il va te compter les caractères de chaque path.




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Compter les caractères d'une arborescence de dossiers. 
LG a écrit:
Il faut lire des tutos et se renseigner un minimum avant de demander Twisted Evil Twisted Evil
Google => batch compter caractere chaine => http://batch.xoo.it/t2494-Compte-les-caracteres-d-une-variables.htm


Mais bonne question Laughing

Citation:
@Echo Off
Set "Chaine=qq chose"
Set nb=0
:Boucle
if "%Chaine%"=="" Echo Terminer : %nb% caracteres & pause
Set/A nb+=1
Set "Chaine=%Chaine:~1%"
Goto Boucle




J'avais vu mais ce script est à partir d'une chaine que l'on entre à la demande, alors que moi je ne dispose que de mon disque dur comme base.

Mais merci cela pourra me servir un jour

Bonne soirée



Répondre en citant
Message Compter les caractères d'une arborescence de dossiers. 
sachadee a écrit:
Isalou tu peux faire comme cela :

Code:
@echo off
setlocal enabledelayedexpansion
for /f  "delims=" %%a in ('dir /s/ad/b') do call:compte "%%a"
exit /b
:compte
Set $Tstring=%~1
for /l %%b in (0,1,9000) do (
  set $t=!$Tstring:~%%b,1!
  if not defined $t (
      echo %1 =  %%b caracteres
      pause
      exit /b))


Il te suffit d'executer le bat depuis la racine [c:\] et il va te compter les caractères de chaque path.




Merci beaucoup Sachadée, je vais m'y atteler ce soir. Il ne me restera plus qu'à faire les répartitions sur fichiers texte.

Bonne soirée



Répondre en citant
Message Compter les caractères d'une arborescence de dossiers. 
Merci Sachadée, j'ai testé le code que tu m'as fourni et c'est le début qu'il me fallait pour continuer le programme que je veux faire.

Merci à tous de votre aide.



Répondre en citant
Message Compter les caractères d'une arborescence de dossiers. 
Bonjour,

Je reviens vers vous car j'ai essayé beaucoup de chose (création de variable, changement de code....) j'y suis depuis plus d'un mois et je ne trouve pas la solution.

Avec le script de Sacchadée : j'ai réussi à sortir le résultat voulu dans un fichier texte.
Code:
 @echo off
setlocal enabledelayedexpansion
for /f  "delims=" %%a in ('dir /s/ad/b') do call:compte "%%a"
exit /b
:compte
Set $Tstring=%~1
for /l %%b in (0,1,9000) do (
  set $t=!$Tstring:~%%b,1!
  if not defined $t (
      echo %1 =  %%b caracteres
      pause
      exit /b))



J'ai réussi à sortir le résultat dans un fichier texte. Mais je voudrais faire un tri.

Exemple :

L'arborescence de plus de 250 caractères dois s'écrire dans un fichier texte 1
Celle entre 200 et 250 dans un fichier 2
et ignorer donc vers un NULL celle de moins de 200 caractères.

Je sais que je dois faire avec IF variable (condition) mais je n'arrive pas à formuler correctement ou placer au bon endroit dans le code.

Je vous remercie par avance de m'aider à sortir de cette problématique.

Je suis vraiment pas douée en batch Sad



Répondre en citant
Message Compter les caractères d'une arborescence de dossiers. 
Isalou a écrit:
Bonjour,

Je reviens vers vous car j'ai essayé beaucoup de chose (création de variable, changement de code....) j'y suis depuis plus d'un mois et je ne trouve pas la solution.

Avec le script de Sacchadée : j'ai réussi à sortir le résultat voulu dans un fichier texte.
Code:
 @echo off
setlocal enabledelayedexpansion
for /f  "delims=" %%a in ('dir /s/ad/b') do call:compte "%%a"
exit /b
:compte
Set $Tstring=%~1
for /l %%b in (0,1,9000) do (
  set $t=!$Tstring:~%%b,1!
  if not defined $t (
      echo %1 =  %%b caracteres
      pause
      exit /b))



J'ai réussi à sortir le résultat dans un fichier texte. Mais je voudrais faire un tri.

Exemple :

L'arborescence de plus de 250 caractères dois s'écrire dans un fichier texte 1
Celle entre 200 et 250 dans un fichier 2
et ignorer donc vers un NULL celle de moins de 200 caractères.

Je sais que je dois faire avec IF variable (condition) mais je n'arrive pas à formuler correctement ou placer au bon endroit dans le code.

Je vous remercie par avance de m'aider à sortir de cette problématique.

Je suis vraiment pas douée en batch Sad



J'ai trouvé. Juste une erreur de parenthèses.
Bonne soirée à tous



Répondre en citant
Message Compter les caractères d'une arborescence de dossiers. 
sachadee a écrit:
Isalou tu peux faire comme cela :

Code:
@echo off
setlocal enabledelayedexpansion
for /f  "delims=" %%a in ('dir /s/ad/b') do call:compte "%%a"
exit /b
:compte
Set $Tstring=%~1
for /l %%b in (0,1,9000) do (
  set $t=!$Tstring:~%%b,1!
  if not defined $t (
      echo %1 =  %%b caracteres
      pause
      exit /b))




Bonjour,

Par rapport à ce script, est-ce possible d'ajouter les fichiers se trouvant dans l'arborescence ?
Car actuellement le script ne compte que les dossiers.
Ne connaissant pas la programmation, serait-til possible de me dire à quel endroit ajouter l'attribut qui permet de compter également le nombre de caractères d'un fichier.

Merci d'avance



Répondre en citant
Message Compter les caractères d'une arborescence de dossiers. 
En changeant le

Code:
dir /s/ad/b


en

Code:
dir /s/b


ça devrait le faire !


Okay



Dernière édition par sachadee le Jeu 4 Fév 2016 - 17:04; édité 1 fois

______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Compter les caractères d'une arborescence de dossiers. 
Parfait merci beaucoup Wink



Message Compter les caractères d'une arborescence de dossiers. 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch