Question powershell Test-Path

Plus d'informations
il y a 7 ans 2 semaines #28415 par Christophe
powershell Test-Path a été créé par Christophe
Bonjour,

Je viens de débuter dans le PowerShell et j'aurais besoin d'aide,

Le bute du script est de:

-vérifier si un \"fichier\" existe
-si il n'existe pas \"fichier\" tu fais plus rien
-si il existe tu vérifie que dans ce \"fichier\" si il y a déjà la \"Phrase\"
-si il n'y a pas la \"phrase\" tu l'ajoute à la suite
-si non s'il y a la phrase tu ne fais rien

[code:1]
$Fichier = \"C:\temp\textaverifier.txt\"
$Phraseajouter = \"C:\temp\phraseajouter.txt\"

$Path = Test-Path $Fichier
If ($Path -eq $True) {
ADD-content -path $Fichier -value (get-content -path $Phraseajouter)
}
[/code:1]

Mais après je ne sais pas comment ajouter pour qu'il check si la \"phrase\" existe déjà.

Merci par avance de votre aide.

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

Plus d'informations
il y a 7 ans 2 semaines #28416 par Philippe
Réponse de Philippe sur le sujet Re:powershell Test-Path
salut SkyScript

tu lis ton fichier avec get-content et tu recherche ta phrase avec slect-string :
[code:1]get-content \"C:\temp\text.txt\" | Select-String \"phrase\"
[/code:1]si il renvoie un resultat c'est que la phrase se trouve dans le fichier

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

Plus d'informations
il y a 7 ans 2 semaines #28418 par Christophe
Réponse de Christophe sur le sujet Re:powershell Test-Path
Merci pour ton aide, j'ai essayé comme cela mais ça ne marche pas.

[code:1]
$Fichier = \"C:\temp\fichieraverifier.txt\"
$Phraseajouter = \"C:\temp\phraseajouter.txt\"
$Ligne = \"test\"

$Path = Test-Path $Fichier
$Phraseexiste = get-content $Fichier | Select-String $Ligne


If ($Path -eq $True) {
If ($Phraseexiste -eq $True){

ADD-content -path $Fichier -value (get-content -path $Phraseajouter)
}
}
[/code:1]

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

Plus d'informations
il y a 7 ans 2 semaines #28419 par Sinjk
Réponse de Sinjk sur le sujet Re:powershell Test-Path
Hello,

Essaye [code:1]
If ($Phraseexiste)

[/code:1]

au lieu de [code:1]If ($Phraseexiste -eq $True)[/code:1]

Bon courage :)

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

Plus d'informations
il y a 7 ans 2 semaines #28420 par Christophe
Réponse de Christophe sur le sujet Re:powershell Test-Path
J'ai testé avec
[code:1]If ($Phraseexiste)[/code:1]
mais je n'ai rien

j'ai fais d'une autre façon mais toujours rien :

[code:1]
$Fichier = \"C:\temp\fichieraverifier.txt\"
$Phraseajouter = \"C:\temp\phraseajouter.txt\"
$Ligne = \"test\"
$Lignecompare = \"test\"

$Path = Test-Path $Fichier
$Phraseexiste = get-content $Fichier | Select-String $Ligne


If ($Path -eq $True) {
$ligneinfo = get-content $Fichier | Select-String $Ligne
}
elseif($ligneinfo -ne $Lignecompare) { ADD-content -path $Fichier -value (get-content -path $Ligne)
}
else
{
Write-Host \"no!\"
exit
}
[/code:1]

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

Plus d'informations
il y a 7 ans 2 semaines #28421 par Philippe
Réponse de Philippe sur le sujet Re:powershell Test-Path
si tu fais ceci qui content test [code:1]
$Fichier = \"C:\temp\fichieraverifier.txt\"
$Ligne = \"test\"
get-content $Fichier | Select-String $Ligne[/code:1]
tu doit avoir la ligne avec test qui s'affiche
sur un autre sans test tu n'a aucun retour

dans ce cas si tu fais un if il faut le faire sur l'absence de retour soit (-not $Phraseexiste)
[code:1]if (-not $Phraseexiste) {
\"pas de test\"
}[/code:1]

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

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