[HELP] Un Jean-Powershell pour m'aider ?
Mes kheys un rapide appel à l'aide
J'y connais rien en batch et compagnie mais j'ai récup ça, pour extraire les noms de fichiers par sous-dossier. Mais seul problème, ça m'extrait également le nom du dossier où est le fichier alors que y a que le fichier qui m'intéresse. Je pense que c'est lié à # make relative path mais à nouveau j'y connais rien donc si jamais un connaisseur tombe sur le topic
Get-ChildItem -Recurse -File |
Group-Object -Property Directory |
ForEach-Object {
@(
$_.Group |
Resolve-Path -Relative | # make relative path
ForEach-Object Substring 2 # cut '.\' part
)-join';'
}
Le 14 mars 2022 à 09:50:44 :
Les gens qui disent batch au lieu de Bash
c'est pas différent ? d'ailleurs là c'est pas du batch j'ai dit nimp. mais ça m'aide pas nonobstant
Get-ChildItem -Recurse "C:\Temp" | Where { ! $_.PSIsContainer } | Select Name,FullName,Length
Le 14 mars 2022 à 09:54:22 :
Tu t'embêtes pour pas grand chose ou alors je n'ai pas compris ton besoin :
Get-ChildItem -Recurse "C:\Temp" | Where { ! $_.PSIsContainer } | Select Name,FullName,Length
Possible que je sois pas assez clair effectivement, j'ai essayé ce que tu as mis mais ça ne marche pas
Actuellement les noms de fichier sont une combinaison du dossier + fichier :
EPHE_CWG_JY_218_002641_\EPHE_CWG_JY_218_002641_00001.jpg
Et moi je cherche à avoir que EPHE_CWG_JY_218_002641_00001.jpg
C'est pas possible que ma commande ne marche pas ou alors tu as une version de PowerShell très très vielle.
Tu as bien remplacé "C:\Temp" par le chemin du répertoire dans lequel tu veux récupérer le nom des fichiers au moins?
Le 14 mars 2022 à 10:03:26 :
C'est pas possible que ma commande ne marche pas ou alors tu as une version de PowerShell très très vielle.Tu as bien remplacé "C:\Temp" par le chemin du répertoire dans lequel tu veux récupérer le nom des fichiers au moins?
ah nan c'est bon mais ça me met en Name d'un côté et le Full Name de l'autre dont j'ai pas besoin, comme je chercher à vraiment avoir un bon gros texte bruit en result, avec simplement une virgule en séparation mais merci mon khey d'avoir proposé
Le 14 mars 2022 à 09:50:44 :
Les gens qui disent batch au lieu de Bash
En l'occurrence même si c'est ni l'un ni l'autre, v'est plus logique de se trompé en disant batch que bash
Desco
Tu peux juste enlever cette ligne je pense
Resolve-Path -Relative | # make relative path
Sinon tu la remplace par un
echo "test" |
Juste pour voir
Get-ChildItem -Recurse "C:\Temp" | Where { ! $_.PSIsContainer } | ForEach-Object {$_.Name}
Le 14 mars 2022 à 10:02:58 :
franchement install cygwin et joue en bash c'est 10 fois plus simple
c'est clair cygwin c'est magique
Le 14 mars 2022 à 10:16:00 :
Dans ce cas :
Get-ChildItem -Recurse "C:\Temp" | Where { ! $_.PSIsContainer } | ForEach-Object {$_.Name}
Ce khey a raison, simple et efficace
Sinon si tu n'y arrives pas, passe par python l'OP avec un import os ça se fait facile
Le 14 mars 2022 à 10:16:00 outofcontext a écrit :
Dans ce cas :
Get-ChildItem -Recurse "C:\Temp" | Where { ! $_.PSIsContainer } | ForEach-Object {$_.Name}
Edit:
Si tu veux ajouter un délimiteur en sortie :
Get-ChildItem -Recurse "C:\Temp" | Where { ! $_.PSIsContainer } | ForEach-Object {$_.Name+';'}
Si tu veux envoyer les résultats dans un fichier en sortie :
Get-ChildItem -Recurse "C:\Temp" | Where { ! $_.PSIsContainer } | ForEach-Object {$_.Name+';'} | out-File "C:\temp\result.csv"
<code > < /code>
Bash
Données du topic
- Auteur
- megaler
- Date de création
- 14 mars 2022 à 09:47:47
- Nb. messages archivés
- 25
- Nb. messages JVC
- 25