batch pour inscrire la liste des fichiers/dossiers vers un .txt ... - Win NT/2K/XP - Windows & Software
Marsh Posté le 20-05-2003 à 15:39:59
c'est tout con en fait
Marsh Posté le 20-05-2003 à 15:40:12
oui ca marche ca
il y a plein d'option aussi
pour les voir, faire
dir /?
Marsh Posté le 20-05-2003 à 15:40:34
le seul truc c'est que ça prenf pas en charge les accents
Marsh Posté le 20-05-2003 à 15:40:54
Navarro a écrit : oui ca marche ca |
Marsh Posté le 21-05-2003 à 21:15:40
ReplyMarsh Posté le 22-05-2003 à 17:34:00
J'avais fait une macro en VBA dans le temps je dois pouvoir la retrouver si ça t'intéresse.
Sois pas pressé je ne suis pas souvent devant mon écran
Marsh Posté le 22-05-2003 à 18:23:12
Relancer moi de temps en temps en PM s'il n'y a rien qui surguit
Marsh Posté le 24-05-2003 à 10:02:02
CARBON_14 a écrit : |
xp
Marsh Posté le 24-05-2003 à 10:11:18
pour win 2000/xp:
http://www.generation-nt.com/index [...] uces&id=95
Marsh Posté le 24-05-2003 à 10:15:47
Le "ça ne prend pas les accents" veut dire quoi, en fait ? Qu'ils sont "bizaroïdisés" sous Windows quand on récupère la liste dans le ficheir .txt ? Normal dans ce cas ! OEM sous windows.
Dans ce cas, y a un filtre DOS sur mon site (http://perso.numericable.fr/~raimopau/Softs/Softs.htm), KI_WIN.
Sous DOS, on fait
DIR machin_bidule | KI_WIN > fichier.txt
et les accents DOS deviennent accents windows.
machin_bidule étant la ligne de commande désirée avec tous ses commutateurs.
|, 'pipe', Alt Gr + 6 généralement.
Qq s'en sert pour faire liste de mp3, pas eu de nouvelles négatives donc doit en être satisfait.
EDIT : DIR /S *.MP3 (par ex, ou *.* pour tout) devrait donner liste des fichiers, /B (je crois, à vérifier) pour pas avoir les tailles, dates, ..
Marsh Posté le 24-05-2003 à 11:08:52
sinon tu l'édites et tu fais rechercher/remplacer et tu remplaces tout, C pas trop dur ;-)
Ou conversion via ultraedit
Marsh Posté le 24-05-2003 à 11:18:03
Avec Acdsee tu peut générer une liste de fichier.Dans les options tu affiche tous les fichiers , même les non graphiques
Marsh Posté le 24-05-2003 à 18:10:39
Tout ça ça me fait penser que je ne suis qu'un cretin
Une fois j'avais voulu générer un fichier txt d'une liste de films présents dans un répertoire, et j'avais eu la riche idée de faire un imprim ecran et de traiter le resultat avec un prog d'OCR
Ca m'a pris un temps monstre au final, pour un resultat mediocre en plus
Marsh Posté le 24-05-2003 à 18:12:56
Remarque c'est une technique un tout petit peu (mais juste un peu ) lourde pour lister un répertoire mais on peut dire une chose, tu ne manques pas d'immagination
Marsh Posté le 24-05-2003 à 18:52:55
C'est vrai que le DOS est un peu hermétique, mais on est là pour aider.
Marsh Posté le 26-05-2003 à 09:11:59
Pour les rétifs du Dos
Voici le source d'une macro Excel à modifier selon les besoins...
Sub Liste_triée()
' permet de Lister un dossier avec ses sous-dossiers et ses fichiers en respectant physiquement l'ordre alphabétique
'
Do
In_path = InputBox("chemin du dossier lister" & vbLf & "par exemple :", "reclassement", "E:\outil_accessoires\" )
If In_path = "" Then Exit Sub
If Right(In_path, 1) <> "\" Then In_path = In_path & "\"
If Dir(In_path, vbDirectory) = "" Then MsgBox "Le dossier à lister ==> " & In_path & vbLf & "n'existe pas, merci de corriger "
Loop Until Dir(In_path, vbDirectory) <> ""
outliste = InputBox("Nom du fichier contenant la liste" & vbLf & "par exemple :", "Liste classée", "E:\essai\liste" )
If outliste = "" Then Exit Sub
If Right(outliste, 4) <> ".txt" Then outliste = outliste & ".txt"
If Dir(outliste, vbDirectory) <> "" Then
If MsgBox("Le fichier de sortie ==> " & outliste & vbLf & "existe déjà, Voulez-vous l'écraser ", vbOKCancel) <> vbOK Then Exit Sub
If Dir(outliste, vbDirectory) <> "" Then Kill outliste
End If
i_niveau = 0 ' profondeur des dossiers
i_row = 2
'RAZ colonnes de travail
Columns("A:E" ).Select
Selection.Delete Shift:=xlToLeft
Cells(1, 1) = "dir"
Cells(1, 2) = 0
Cells(1, 3) = In_path
Do While Cells(1, 1) = "dir"
i_niveau = i_niveau + 1
Cells(1, 2) = i_niveau
In_path = Cells(1, 3)
MyName = Dir(In_path, vbDirectory + vbHidden + vbNormal + vbSystem)
Do While MyName <> "" ' Commence la boucle.
' Ignore le répertoire courant et le répertoire
' contenant le répertoire courant.
If MyName <> "." And MyName <> ".." Then
Rows(i_row).Insert
Cells(i_row, 2) = i_niveau
' Utilise une comparaison au niveau du bit pour
' vérifier que MyName est un répertoir
If (GetAttr(In_path & MyName) _
And vbDirectory) = vbDirectory Then
' représente un répertoire.
Cells(i_row, 1) = "dir"
Cells(i_row, 3) = In_path & MyName & "\"
Cells(i_row, 4) = Chr(0)
i_row = i_row + 1
Else
' représente un fichier
Cells(i_row, 1) = "file_" ' & i_niveau
Cells(i_row, 3) = In_path & Chr(255)
Cells(i_row, 4) = MyName
i_row = i_row + 1
End If
End If
MyName = Dir ' Extrait l'entrée suivante.
Loop
Cells(1, 1) = "Dir_Ok" 'indication que le dossier a été traité
Worksheets(1).Range("A1" ).Sort _
Key1:=Worksheets(1).Columns("A" ), Key2:=Worksheets(1).Columns("B" ), Key3:=Worksheets(1).Columns("C" )
Loop
Worksheets(1).Range("A1" ).Sort _
Key1:=Worksheets(1).Columns("C" ), Key2:=Worksheets(1).Columns("D" )
' compteur de création de dossiers
i_Dir = -1 ' on ne copte pas le dossier de plus haut niveau
' compteur de recopie de fichiers
i_File = 0
Open outliste For Output Shared As #1
Print #1, "Traitement exécuté le " & Format(Date, "dddd d mmm yyyy" ) & " à " & Format(Time, "h:m:s" )
Print #1, vbCrLf & "==========================================================="
Print #1, vbCrLf & "Début de la liste des fichiers triée" & vbCrLf
i = 1
Do Until Cells(i, 1) = ""
If Left(Cells(i, 1), 3) = "Dir" Then
Print #1, " Répertoire ==> " & Cells(i, 3)
i_Dir = i_Dir + 1
Else
Print #1, " Fichier ==> " & Left(Cells(i, 3), Len(Cells(i, 3)) - 1) & Cells(i, 4)
i_File = i_File + 1
End If
i = i + 1
Loop
MsgBox "nombre de dossiers listés : " & i_Dir & vbCrLf & _
"nombre de fichiers listés : " & i_File, vbOKOnly, "liste classée"
Print #1, vbCrLf & "Fin de la liste"
appl = "notepad.exe" & " " & outliste
Close #1
outliste = "e:\essai\liste.txt"
appl = "c:\windows\notepad.exe " & """" & outliste & """"
RetVal = Shell(appl, 4)
Workbooks(1).Close SaveChanges:=False
End Sub
Marsh Posté le 20-05-2003 à 15:32:14
heuu c'est possible ?
Message édité par hide le 20-05-2003 à 15:35:05
---------------
Et si c’était ça la vie / Et si on nous l’avait pas dit ?