Question
[Résolu]Aide sur une expression régulière
- de França
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 67
- Remerciements reçus 0
il y a 15 ans 3 mois #8710
par de França
[Résolu]Aide sur une expression régulière a été créé par de França
Bonjour à tous,
Comme dit dans le titre je demande votre aide pour une expression régulière.
Dans mon script je laisse le choix à l'utilisateur d'enregistrer un fichier au chemin qu'il souhaite. Donc ça signifie qu'il va entrer lui même le chemin sur lequel il faut enregistrer son fichier.
[code:1]Ex.:
Entrer un chemin: C:\test\dosier(test)\
Fichier enregistré
Entrer un chemin: mondossier|234
Erreur[/code:1]
Il faut donc qu'il entre le chemin de la même manière que dans le première exemple.
Actuellement j'ai fais cela:
[code:1]\"^[A-Z]\:\\[\w*]\\*\"[/code:1]
Ce qui oblige déjà l'utilisateur à entrer une lettre de lecteur suivit de :\ et ensuite des chaines avec des backslash.
J'aimerais encore exclure les paramètres interdit dans les noms de fichier, càd:
\ / : * ? \" < > |
Le problème est que le slash et le backslash doivent être autorisé dans le chemin mais pas dans les noms de fichier ou de dossier.
C'est la que j'ai besoin de vous. J'éspère avoir bien commencé avec mon expression régulière.
Merci d'avance
Message édité par: unfam0us, à: 3/02/11 10:30<br><br>Message édité par: unfam0us, à: 3/02/11 14:07
Comme dit dans le titre je demande votre aide pour une expression régulière.
Dans mon script je laisse le choix à l'utilisateur d'enregistrer un fichier au chemin qu'il souhaite. Donc ça signifie qu'il va entrer lui même le chemin sur lequel il faut enregistrer son fichier.
[code:1]Ex.:
Entrer un chemin: C:\test\dosier(test)\
Fichier enregistré
Entrer un chemin: mondossier|234
Erreur[/code:1]
Il faut donc qu'il entre le chemin de la même manière que dans le première exemple.
Actuellement j'ai fais cela:
[code:1]\"^[A-Z]\:\\[\w*]\\*\"[/code:1]
Ce qui oblige déjà l'utilisateur à entrer une lettre de lecteur suivit de :\ et ensuite des chaines avec des backslash.
J'aimerais encore exclure les paramètres interdit dans les noms de fichier, càd:
\ / : * ? \" < > |
Le problème est que le slash et le backslash doivent être autorisé dans le chemin mais pas dans les noms de fichier ou de dossier.
C'est la que j'ai besoin de vous. J'éspère avoir bien commencé avec mon expression régulière.
Merci d'avance
Message édité par: unfam0us, à: 3/02/11 10:30<br><br>Message édité par: unfam0us, à: 3/02/11 14:07
Connexion ou Créer un compte pour participer à la conversation.
- Jacques Barathon
- Hors Ligne
- Administrateur
-
Réduire
Plus d'informations
- Messages : 576
- Remerciements reçus 0
il y a 15 ans 3 mois #8712
par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Aide sur une expression régulière
Il existe sans doute (à coup sûr même
) une expression régulière qui fera ce que tu veux, mais il va te falloir prendre beaucoup de cas particuliers en considération (UNC, caractères autorisés/interdits dans les noms de fichiers et de répertoires, longueur maximale autorisée, noms de disques enregistrés avec new-psdrive, etc).
Le plus simple serait d'utiliser la commande toute faite de PowerShell :
[code:1]
if (-not (test-path $chemin -isvalid))
{
\"chemin incorrect\"
}
else
{
# ... enregistrer le fichier
}
[/code:1]
Le plus simple serait d'utiliser la commande toute faite de PowerShell :
[code:1]
if (-not (test-path $chemin -isvalid))
{
\"chemin incorrect\"
}
else
{
# ... enregistrer le fichier
}
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- de França
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 67
- Remerciements reçus 0
il y a 15 ans 3 mois #8713
par de França
Réponse de de França sur le sujet Re:Aide sur une expression régulière
Merci janel pour ta réponse si rapide comme d'habitude 
Je ne connaissais pas cette commande et je me suis directement lancé dans les regex. Maintenant ça fonctionne.
Je ne connaissais pas cette commande et je me suis directement lancé dans les regex. Maintenant ça fonctionne.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.033 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu]Aide sur une expression régulière