Question
Manipuler des dates tout en les formattant(Résolu)
- Gabriel
-
Auteur du sujet
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 248
- Remerciements reçus 1
il y a 17 ans 3 mois #3380
par Gabriel
Manipuler des dates tout en les formattant(Résolu) a été créé par Gabriel
Bonsoir Bonsoir...
Alors je connais la commande get-date qui me fournit la date tout en la formattant comme je veux
[code:1]ex:
aujourd'hui 3 decembre 2008
get-date -uformat \"%y%m%d\"
081203
[/code:1]
Je viens de découvrir (get-date).AddDays(2) qui rajoute 2 jours à la date du jour...
[code:1]ex:
aujourd'hui 3 decembre 2008
(get-date).AddDays(2)
Friday, December 05, 2008 5:01:29 PM
[/code:1]
Là ou je bloque c'est quand je tente de fusionner les 2... c'est à dire récupérer une date avec n jours en plus ou en moins et de la formater comme je le souhaite...
Vous avez une idée? j'ai un peu essayer n'importe comment, j'avoue...
la finalité est de récupérer un fichier en date de n jour avant ou apres ... la date étant dans le nom du fichier...
Merci Merci
[Edit]
j'ai corrigé quelques fôtes...
Message édité par: tonic8, à: 3/12/08 17:08<br><br>Message édité par: Arnaud, à: 9/12/08 23:29
Alors je connais la commande get-date qui me fournit la date tout en la formattant comme je veux
[code:1]ex:
aujourd'hui 3 decembre 2008
get-date -uformat \"%y%m%d\"
081203
[/code:1]
Je viens de découvrir (get-date).AddDays(2) qui rajoute 2 jours à la date du jour...
[code:1]ex:
aujourd'hui 3 decembre 2008
(get-date).AddDays(2)
Friday, December 05, 2008 5:01:29 PM
[/code:1]
Là ou je bloque c'est quand je tente de fusionner les 2... c'est à dire récupérer une date avec n jours en plus ou en moins et de la formater comme je le souhaite...
Vous avez une idée? j'ai un peu essayer n'importe comment, j'avoue...
la finalité est de récupérer un fichier en date de n jour avant ou apres ... la date étant dans le nom du fichier...
Merci Merci
[Edit]
j'ai corrigé quelques fôtes...
Message édité par: tonic8, à: 3/12/08 17:08<br><br>Message édité par: Arnaud, à: 9/12/08 23:29
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 17 ans 3 mois #3381
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:manipuler des dates tout en les formattant...
tonic8 écrit:
[code:1]
get-date -date ((get-date).AddDays(2)) -uformat \"%y%m%d\"
[/code:1]
Ou le formatage de PowerShell
[code:1]
\"{0:ddmmyyy}\" -F ,(get-date).AddDays(2)
[/code:1]
Pour plus de détails sur le formatage voir ce document
Utilise le paramètre dateLà ou je bloque c'est quand je tente de fusionner les 2
[code:1]
get-date -date ((get-date).AddDays(2)) -uformat \"%y%m%d\"
[/code:1]
Ou le formatage de PowerShell
[code:1]
\"{0:ddmmyyy}\" -F ,(get-date).AddDays(2)
[/code:1]
Pour plus de détails sur le formatage voir ce document
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Gabriel
-
Auteur du sujet
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 248
- Remerciements reçus 1
il y a 17 ans 3 mois #3382
par Gabriel
\"Impressive!!\"
alors ok le premier cas de figure j'aurais pu le chercher longtemps... meme si j'avais deja vu des choses comme ca (mais pas pour les dates... je suis pas developpeur moi
)
Pour le 2eme cas de figure
j'ai recuperer le fichier, et je vais etudier ca. Ca a l'air cool je peux directement generer le nom du fichier avec la date que je veux...
[code:1]ex:
\"{0:'ex'yyMMdd'.log'}\" -F ,(get-date).AddDays(2)
ex081205.log
[/code:1]
Par contre tu met une \",\" (virgule) entre -F et le (get-date), ce qui n'ai pas le cas dans l'exemple qui vient d'o'reilly (mais bon j'ai peut etre lu un peut rapidement le truc d'o'Reilly)
Merchi
<br><br>Message édité par: tonic8, à: 3/12/08 18:29
Réponse de Gabriel sur le sujet Re:manipuler des dates tout en les formattant...
alors ok le premier cas de figure j'aurais pu le chercher longtemps... meme si j'avais deja vu des choses comme ca (mais pas pour les dates... je suis pas developpeur moi
Pour le 2eme cas de figure
[code:1]ex:
\"{0:'ex'yyMMdd'.log'}\" -F ,(get-date).AddDays(2)
ex081205.log
[/code:1]
Par contre tu met une \",\" (virgule) entre -F et le (get-date), ce qui n'ai pas le cas dans l'exemple qui vient d'o'reilly (mais bon j'ai peut etre lu un peut rapidement le truc d'o'Reilly)
Merchi
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 17 ans 3 mois #3383
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:manipuler des dates tout en les formattant...
tonic8 écrit:
[code:1]Help Get-Date -Full[/code:1]

tonic8 écrit:
tonic8 écrit:
[code:1]
$Extension=\"Log\"
$S=\" Avant JC\"
\"Ex{0:yyMMdd'$S'}.{1}\" -F (get-date).AddDays(2),$extension[/code:1]
Par contre dans certain cas il faut la placer entre parenthèses :
[code:1]
Write-Warning (\"[{0}:{1}] {2}\" -F ($LocalInvocation,$MyInvocation.InvocationName,,\"Un objet est à `$Null.\"«»))
#
write-Debug (\"CallStack {0}\" -F (ParseStack $Stack) )
[/code:1]
Ici pas besoin c'est dans la doc :je suis pas developpeur moi
[code:1]Help Get-Date -Full[/code:1]
tonic8 écrit:
Oui c'est une erreur de copier/coller.Par contre tu met une \",\" (virgule) entre -F et le (get-date)
tonic8 écrit:
Cette fonction de formatage est trés pratique, parfois préférable à l'expansion de chaîne.Ca a l'air cool je peux directement generer le nom du fichier avec la date que je veux...
[code:1]
$Extension=\"Log\"
$S=\" Avant JC\"
\"Ex{0:yyMMdd'$S'}.{1}\" -F (get-date).AddDays(2),$extension[/code:1]
Par contre dans certain cas il faut la placer entre parenthèses :
[code:1]
Write-Warning (\"[{0}:{1}] {2}\" -F ($LocalInvocation,$MyInvocation.InvocationName,,\"Un objet est à `$Null.\"«»))
#
write-Debug (\"CallStack {0}\" -F (ParseStack $Stack) )
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Gabriel
-
Auteur du sujet
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 248
- Remerciements reçus 1
il y a 17 ans 3 mois #3384
par Gabriel
Réponse de Gabriel sur le sujet Re:manipuler des dates tout en les formattant...
Vu et testé MAIS il y a un mais...
si j'execute la ligne dans le shell ca marche
[code:1]
$fichier = \"ex{0:yyMMdd}\" -F (get-date).AddDays(-1)
$fichier
ex081202
[/code:1]
si je l'execute dans un script
[code:1]
######################################################################
## Variable de base:
## repertoire Spool de Splunk
## le nom des machines ou aller chercher le fichier
## le partage ou se trouve le fichier
$repertoire = \"c:\temp\"
#$repertoire = \"C:\win32app\Splunk\var\spool\splunk\"
$serveur01 = \"serveur1\"
$serveur02 = \"serveur2\"
$chemin = \"logs$
######################################################################
## on détermine le nom du fichier a recuperer, c'est a dire
## celui de la veille il est créé par IIS, commençant
## par ex, puis l'année, puis le mois, puis le jour
## ici on se sert de l'option de formatage et on passe cette option
## a la commande get-date sur laquelle on applique un -1 pour avoir
## le fichier de la veille
$fichier = \"ex{0:yyMMdd}\" -F (get-date).AddDays(-1)
######################################################################
## on copie les fichiers si ils existent dans le repertoire
## spool de splunk en les renommant
copy-item -path $serveur01/$chemin/$fichier'.log' -destination $repertoire/$fichier'-'$serveur01'.log'
[/code:1]
ca me jette un bon message d'erreur comme suit
[code:1]
PS C:\win32app> C:\win32app\smtp_relay.ps1
Unexpected token 'ex' in expression or statement.
At C:\win32app\smtp_relay.ps1:22 char:15
+ $fichier = \"ex{ <<<< 0:yyMMdd}\" -F (get-date).AddDays(-1)
[/code:1]
j'ai aussi essayé ca, c'est a dire mettre les 2 caractere \"ex\" dedans, mais ca marche pas il bloque
[code:1]
PS C:\win32app> C:\win32app\smtp_relay.ps1
Unexpected token '{' in expression or statement.
At C:\win32app\smtp_relay.ps1:22 char:14
+ $fichier = \"{0 <<<< :'ex'yyMMdd}\" -F (get-date).AddDays(-1)
[/code:1]
Message édité par: tonic8, à: 3/12/08 19:50<br><br>Message édité par: tonic8, à: 3/12/08 19:53
si j'execute la ligne dans le shell ca marche
[code:1]
$fichier = \"ex{0:yyMMdd}\" -F (get-date).AddDays(-1)
$fichier
ex081202
[/code:1]
si je l'execute dans un script
[code:1]
######################################################################
## Variable de base:
## repertoire Spool de Splunk
## le nom des machines ou aller chercher le fichier
## le partage ou se trouve le fichier
$repertoire = \"c:\temp\"
#$repertoire = \"C:\win32app\Splunk\var\spool\splunk\"
$serveur01 = \"serveur1\"
$serveur02 = \"serveur2\"
$chemin = \"logs$
######################################################################
## on détermine le nom du fichier a recuperer, c'est a dire
## celui de la veille il est créé par IIS, commençant
## par ex, puis l'année, puis le mois, puis le jour
## ici on se sert de l'option de formatage et on passe cette option
## a la commande get-date sur laquelle on applique un -1 pour avoir
## le fichier de la veille
$fichier = \"ex{0:yyMMdd}\" -F (get-date).AddDays(-1)
######################################################################
## on copie les fichiers si ils existent dans le repertoire
## spool de splunk en les renommant
copy-item -path $serveur01/$chemin/$fichier'.log' -destination $repertoire/$fichier'-'$serveur01'.log'
[/code:1]
ca me jette un bon message d'erreur comme suit
[code:1]
PS C:\win32app> C:\win32app\smtp_relay.ps1
Unexpected token 'ex' in expression or statement.
At C:\win32app\smtp_relay.ps1:22 char:15
+ $fichier = \"ex{ <<<< 0:yyMMdd}\" -F (get-date).AddDays(-1)
[/code:1]
j'ai aussi essayé ca, c'est a dire mettre les 2 caractere \"ex\" dedans, mais ca marche pas il bloque
[code:1]
PS C:\win32app> C:\win32app\smtp_relay.ps1
Unexpected token '{' in expression or statement.
At C:\win32app\smtp_relay.ps1:22 char:14
+ $fichier = \"{0 <<<< :'ex'yyMMdd}\" -F (get-date).AddDays(-1)
[/code:1]
Message édité par: tonic8, à: 3/12/08 19:50<br><br>Message édité par: tonic8, à: 3/12/08 19:53
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 17 ans 3 mois #3387
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:manipuler des dates tout en les formattant...
Il en manque un bout, non ?
[code:1]
$chemin = \"logs$
[/code:1]
[code:1]
$chemin = \"logs$
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.106 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Manipuler des dates tout en les formattant(Résolu)