Question Recherche mots-clés dans le nom d'un fichier

Plus d'informations
il y a 9 ans 5 mois #22537 par Speed83
Merci, ça fonctionne avec mon précédent code.
Par contre ce qui m'embête c'est d'être obligé de créer un fichier TXT où je récupère tous les noms des fichiers pour ensuite l'utiliser dans mon select-string :
[code:1]$test2 = Select-String $test3 -Pattern $Pattern[/code:1]

Est-ce possible d'utiliser mon select-string avec simplement une variable qui récupère chaque nom de fichier d'une style :
[code:1]
$nom = mon_nom_fichier.txt
$test2 = Select-String $nom -Pattern $Pattern[/code:1]

Ou est-ce avec le select-string nous sommes obligés d'inqiuer un fichier en entrée comme avec ma variable $test3 ?



Concernant le code
[code:1]'{0}|{1}|{2} etc' -F $item.MT1,$item.MT2,$item.MT3 etc[/code:1]
Merci mais je ne sais pas l'adapter, l'utiliser avec mon code existant.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 5 mois #22538 par Laurent Dardenne
Speed83 écrit:

Ou est-ce avec le select-string nous sommes obligés d'indiquer un fichier en entrée comme avec ma variable $test3 ?

Un nom de fichier est une string, donc il peut être placé dans une variable.
J'avais cru comprendre que les nom des fichiers étaient dans le csv.Je me trompe ?
Speed83 écrit:

Merci mais je ne sais pas l'adapter, l'utiliser avec mon code existant.

Bah faut lire la doc ;-)
[code:1]help about_operators[/code:1]
Le principe est simple :
[code:1]\"{0}\" -F $Object.Property[/code:1]
la chaine à gauche contient des références aux objets/valeurs placées à droite. Cela fonctionne par couple. {0} est remplacé par le contenu(de type string) du premier objet, {1} par le second, etc
[code:1]
\"{0}\" -F $o1
\"{0} {1}\" -F $o1,$o2
\"{0} {1} {2}\" -F $o1,$o2,$o3
etc
[/code:1]
On peux utiliser + fois la même référence :
[code:1]
$o1=\";\"
$o2=\"Data\"
\"{0} {1} {0}\" -F $o1,$o2
#; Data ;
[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 5 mois #22539 par Speed83
Non, je me suis peut-être mal exprimé.
J'ai un CSV qui contient les différents mots clés.

Et pour le moment mon script créé un fichier TXT où je stocke temporairement les noms de fichiers que je souhaite déplacer.

Ce fichier correspond à la variable $test3.

Ce que j'aimerai, c'est que la variable $test3 à la place de ressembler à ça :
[code:1]$test3 = \"c:\docx\log2.txt\"[/code:1]

correspond à
[code:1]$test3 = $MonFichier.Name.ToString()[/code:1]
Ainsi la variable $test3 correspond au nom de mon fichier mais lorsque je fais ça la commande ci-dessous ne fonctionne pas.
[code:1]Select-String $test3 -Pattern $Pattern[/code:1]


Merci pour ces autres infos ;)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 5 mois #22540 par Laurent Dardenne
Speed83 écrit:

correspond à
[code:1]$test3 = $MonFichier.Name.ToString()[/code:1]

Je ne sais pas ce que contient la variable $MonFichier.
Pour le moment utilise un nom de fichier simple.
Si tu as + noms de fichiers tu seras obligé de créer une boucle donc une variable.
Et ceci, si Name est de type string, est redondant :
[code:1]
$test3 = $MonFichier.Name.ToString()
[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 4 mois #22543 par Speed83
Ok, en effet j'ai plusieurs fichiers et j'ai déjà une boucle.

J'ai trouvé mon erreur (erreur de syntaxe).
le code ci-dessous fonctionne maintenant.
[code:1]$test3 = $MonFichier.Name.ToString()[/code:1]

Bref, merci pour l'idée du fichier CSV, c'est ce qui me manquait !

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.047 secondes
Propulsé par Kunena