Question Trouver un fichier comportant des caractères ?

Plus d'informations
il y a 5 ans 6 mois #27622 par GIL
Bonjour,

Je mis perd un peu dans les fonctions de -replace et autre sur une chaine de caractères.
Voici mon problème

Je dois trouver un fichier et executer notepad sur le ou les fichiers trouvés. je ne connais pas le nom du fichier exact mais je sais que son nom comporte des ?

Quelqu'un connait la solution ? Merci d'avance

Voici mon code :
$FICHIER = 'D:\ftp\recu?_tes?_tr?ns.txt'
echo \"Nom : $FICHIER\"

$a=\"a\"
$b=\"b\"
$c=\"c\"
$d=\"d\"
$e=\"e\"
$f=\"f\"
$g=\"g\"
$h=\"h\"
$i=\"i\"
$j=\"j\"
$k=\"k\"
$l=\"l\"
$m=\"m\"
$n=\"n\"
$o=\"o\"
$p=\"p\"
$q=\"q\"
$r=\"r\"
$s=\"s\"
$t=\"t\"
$u=\"u\"
$v=\"v\"
$w=\"w\"
$x=\"x\"
$y=\"y\"
$z=\"z\"
$replacements = $a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u,$v,$w,$x,$y,$z
cls

foreach ($r in $replacements) {


echo \"la lettre de replacé: $r\"
$Z_string = $FICHIER -replace \"^.(.*)\", \"$([char]::ToUpper($FICHIER[0]))`$1\"

echo \"variable : $Z_string\"

$ZZZ=Test-Path -Path $Z_string
if ($ZZZ -eq $True) {
echo \"Fichier présent : $Z_string\" }



}

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

Plus d'informations
il y a 5 ans 6 mois #27623 par de França
Ca ressemble a des devoirs d'école, c'est juste? :lol:

Si je comprends bien ton problème tu as un fichier dont tu ne connais qu'une partie du nom et qui contient des lettres mystères ? Peux-tu être plus précis sur le but à atteindre et les contraintes de ton problème?

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

Plus d'informations
il y a 5 ans 6 mois #27624 par GIL
Oui , très très novice dans le PS. Merci du coup de main.

le but est :

- de trouver le fichier
- puis de lancer un executable avec le nom du fichier en paramètre ( notepad \"^FICHIER\" par exemple)

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

Plus d'informations
il y a 5 ans 6 mois #27626 par GIL
Bonjour,

Je sèche toujours. J'ai parcouru les scripts à disposition sur le forum mais je ne vois rien qui puisse me faire avancer.
Quelqu'un à la solution ?
Merci<br><br>Message édité par: FERRARA, à: 28/09/18 08:57

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

Plus d'informations
il y a 5 ans 5 mois #27628 par Philippe
salut FERRARA

Alors pour cette question :

puis de lancer un executable avec le nom du fichier en paramètre ( notepad \&quot;^FICHIER\&quot; par exemple)

c'est simple tu met dans ton script :
[code:1]$monfichier = \&quot;C:\dossier\fichier.txt\&quot;
notepad $monfichier
[/code:1]

le nom d'un fichier ne peut contenir le point d'interrogation \&quot;?\&quot;
mais il se peut que tu a voulue afficher un autre caractère et que l'éditeur du forum ne l'affiche pas

pour trouver un fichier a tu :
[code:1]Get-ChildItem \&quot;d:\ftprecu*.txt\&quot; -Recurse
[/code:1]
il n'existe pas de commande pour trouver un fichier avec plusieurs caractères qui manque et qui ne ce suivent pas -&gt; 'ftprecu?_tes?_tr?ns.txt'
dans ce cas on, on fais une recherche avec le debut du mot puis on compare la liste des résultats à ce que devrait ressembler le mot entier<br><br>Message édité par: 6ratgus, à: 1/10/18 08:25

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

Plus d'informations
il y a 5 ans 5 mois #27632 par GIL
Salut 6ratgus,
tout d'abord merci de ton aide.

Je viens de scripter :
$VAR= 'D:\ftp\recu*.txt'
$FIC=Get-ChildItem $VAR -Recurse
$RC=$?
if ($RC -eq $True) {Write-Host \&quot;Fichier est trouvé : $FIC\&quot;}
if ($RC -eq $False) { Write-Host \&quot;Fichier est non trouvé\&quot; }

Le retour est toujours à True même si il est absent.

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

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