0
votes

Win10 cmd pour exporter uniquement les noms de fichiers de répertoires et de sous-répertoires

Je souhaite utiliser Win10 cmd pour extraire dans un fichier TXT, seuls les noms de fichiers d'un répertoire et des sous-répertoires.

Le plus proche que je suis arrivé est xxx < p> Qui ne répertorie que les noms de fichiers, mais comprend également un "en-tête" du répertoire comme dans: xxx


4 commentaires

Toute raison spécifique de ne pas utiliser PowerShell et faciliter les choses?


Merci !!! Je n'ai jamais ouvert / utilisé PowerShell Old Time (69 ans) Utilisateur CMD uniquement :-)


Pouvez-vous s'il vous plaît clarifier par Modification de votre question , exactement comment vous souhaitez que la sortie ait l'air. Actuellement, il semble que vous souhaitiez tout sauf pour les lignes avec les caractères multiples = et la réponse que vous avez acceptée ne fait pas cela.


Merci! J'ai marqué la ligne qui montre "juste le nom du fichier" La commande DIR renvoie les informations correctes dans une ligne par ligne et tout ce que je veux, c'est le nom de fichier.


3 Réponses :


0
votes

Il suffit d'ajouter l'option / B xxx

selon DIR /? Informations, / B fait afficher le format nu de direction sans en-tête ou résumé < / p>


1 commentaires

Merci, cependant le / B, lorsqu'il est utilisé conjointement avec des sous-répertoires inclut le chemin complet avec le nom de fichier copié votre chaîne et voici quelques lignes: v: \ scannés images \ 1988-06 Trip de Californie \ 1988-06 Trip Californie Kathleen Plage 1.jpg V: \ Pictures numérisées \ 1988-06 Trip de Californie \ 1988-06 Trip Californie Kathleen Beach.jpg V: \ Pictures numérisées \ 1988-06 Trip de Californie \ 1988-06 Trip Californie Kathleen Patricia.jpg



0
votes

Il existe de nombreuses options pour faire ce dont vous avez besoin, voici quelques-uns d'entre eux:

Si vous voulez exactement le même format que dans votre question, mais avec les lignes de nom de fichier NONE supprimées, utilisez simplement Pour supprimer les lignes indésirables. P>

vous pourrait faire cela en omettant des lignes qui commencent par un espace, (suppose que vous n'avez pas de noms de fichiers commençant par un caractère d'espace) em>: p> xxx pré>

si Vous souhaitez supprimer davantage les lignes vides, le tuyer via une autre


: p> xxx pré>

Si vous ne voulez pas qu'ils ont doublequé, vous pourriez plus développer cela pour le faire: p> xxx pré>

bien que, comme est une commande relativement inefficace, et vous utilisez maintenant un de toute façon, vous pouvez simplement utiliser un directement: p> xxx pré>

Si vous vouliez vous assurer que seuls les fichiers avec l'extension de fichier .jpg code> étaient sorties, (par opposition à ceux qui commencent par .jpg code>, comme avec le

commande) em>, alors vous pouvez également utiliser commande à la place. P>

(For /F "Delims=" %G In ('%__AppDir__%where.exe /R . *.jpg 2^>NUL')Do @Echo %~nxG)>"test1.txt"


5 commentaires

Merci pour les suggestions. J'ai couru le premier qui a abouti à un 0 octet text1.txt j'ai essayé plusieurs autres avec le même résultat. Une erreur de syntaxe? J'ai essayé de déduire, mais je ne suis pas assez intelligent pour le démêler. Merci encore!


@Tom, je n'ai aucun contrôle sur ce que vous utilisez à la place de folderPath ou selon que vous remplacez cela avec un emplacement complet ou relatif, quel est votre ditectoriel actuel au moment de l'exécution. Je peux cependant vous assurer que si vous n'avez changé que cette chaîne et rien d'autre, (pas même ses doubles celles) et au moment où vous exécutez la ligne de commande, l'emplacement du folderpath` est disponible. , (selon ce qui précède) et contient quelque part dans son arborescence au moins un fichier avec une extension .jpg , ils fonctionneront. Il n'y a aucune erreur de syntaxe dans aucun de mes codes postés ci-dessus.


À partir des exemples que vous avez posté @TOM, vous avez un volume étiqueté images , qui a été attribué la lettre de lecteur v: dans la racine de ce lecteur, il y a un Directory nommé images numérisés , quel est votre répertoire actuel de votre ligne de commande fournie. Votre commande fournie utilise ensuite folderpath qui ne peut être un nom de formulaire uniquement car la piégée de sortie fournie affiche aucun répertoire nommé dossier . Afin d'obtenir la sortie que vous avez fournie, vous devez avoir remplacé folderpath avec 1988-06 California Trip ou V: \ images numérisées . Donc, pour que cela fonctionne, reproduisez ces choses.


COMPO - Merci pour votre aide et vos explications. Très utile pour travailler une solution.


@TOM, votre dernier commentaire n'a pas validé que mon code fonctionne réellement. De plus, si vous êtes convaincu que l'une des réponses fournies jusqu'à présent, des solutions acceptables, vous devez marquer votre préféré comme accepté.



0
votes

J'ai trouvé une solution de 2 pièces.

dir * .jpg / s / b / a-d> test.txt - produit un fichier que le chemin n'a que le chemin indiqué avec le nom de fichier Copier le contenu pour exceller Excel trouve / remplacer * \ with null - supprime le chemin

  • Étape supplémentaire non inscrite dans ma question initiale Texte de données aux colonnes pour séparer la date prélevée du nom de fichier

    Merci à tout le monde pour vos suggestions et vos commentaires, vous me mettez sur un chemin pour trouver une solution.

    Merci et rester en sécurité!


1 commentaires

Bien que cela puisse expliquer que vous avez résolu votre problème, ce n'est pas une réponse à la question postée. J'ai fait une modification à ma réponse pour inclure les modifications nécessaires pour supprimer la chaîne folderPath , qui n'était clairement pas nécessaire.