Dater des fichiers par script (.bat)
Tom91
-
Tom91 -
Tom91 -
Bonjour,
Je cherche à générer un nom de fichier de log avec la date sous Windows. J'avais réussi avec le code ci-dessous, seul souci, avant 10h00, la varible %TIME% contient par exemple 9:23:12,52 et non 09:23:12,52. Etant plus à l'aise en script Unix que Windows :-), est-ce que quelqu'un peut m'aider à soit tester la longueur de %TIME% soit changer le formatage de sortie pour que ça marche dans tous les cas.
Merci
@echo off
SET LOGDIR=N:\Log
SET LOG=%DATE:~-4%%DATE:~8,2%%DATE:~5,2%.%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.%USERNAME%.req.log
Je cherche à générer un nom de fichier de log avec la date sous Windows. J'avais réussi avec le code ci-dessous, seul souci, avant 10h00, la varible %TIME% contient par exemple 9:23:12,52 et non 09:23:12,52. Etant plus à l'aise en script Unix que Windows :-), est-ce que quelqu'un peut m'aider à soit tester la longueur de %TIME% soit changer le formatage de sortie pour que ça marche dans tous les cas.
Merci
@echo off
SET LOGDIR=N:\Log
SET LOG=%DATE:~-4%%DATE:~8,2%%DATE:~5,2%.%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.%USERNAME%.req.log
A voir également:
- Dater des fichiers par script (.bat)
- Creer un fichier .bat - Guide
- Renommer des fichiers en masse - Guide
- Bat to exe converter - Télécharger - Édition & Programmation
- Script vidéo youtube - Guide
- Fichiers epub - Guide
1 réponse
Je suis en train de tenter de le faire en vbscrpt mais je n'arrive pas à lancer la commande finale avec les espaces contenus dans mes chemins :-(
Dim ExecSAS
Dim CfgFile
Dim RunSAS
Dim LogFile
Dim Autoexec
Dim Lance
CfgFile= "d:\Produits\SAS\SAS 9.1\nls\en\SASV9.CFG"
ExecSAS= "D:\Produits\SAS\SAS 9.1\sas.exe"
Autoexec= "C:\Temp\autoexec.sas"
' Recup username dans les variables d'environnement de la session
Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshEnv = WshShell.Environment("PROCESS")
username = WshEnv("USERNAME")
' ----------------------------------------------------------------------------
' Construction du nom du user SAS a partir de la variable d'environnement USERNAME
' ----------------------------------------------------------------------------
' usr_1= Mid(username, 3, 4)
' usr_2= Mid(username, 8, 2)
' usr_3= Mid(username, 11, 4)
' userSAS = usr_1 & usr_2 & usr_3
LogFile= "c:\Temp\" & username & "." & year(Date) & "." & month(Date) & "." & day(Date) & "." & hour(Time) & "." & minute(Time) & "." & second(Time) & ".requeteur.log"
Lance= ExecSAS & " -autoexec " & Autoexec & " -config " & CfgFile & " -altlog " & LogFile
' ----------------------------------------------------------------------------
' Lancement executable SAS
' ----------------------------------------------------------------------------
WshShell.run Lance
wscript.quit
Dim ExecSAS
Dim CfgFile
Dim RunSAS
Dim LogFile
Dim Autoexec
Dim Lance
CfgFile= "d:\Produits\SAS\SAS 9.1\nls\en\SASV9.CFG"
ExecSAS= "D:\Produits\SAS\SAS 9.1\sas.exe"
Autoexec= "C:\Temp\autoexec.sas"
' Recup username dans les variables d'environnement de la session
Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshEnv = WshShell.Environment("PROCESS")
username = WshEnv("USERNAME")
' ----------------------------------------------------------------------------
' Construction du nom du user SAS a partir de la variable d'environnement USERNAME
' ----------------------------------------------------------------------------
' usr_1= Mid(username, 3, 4)
' usr_2= Mid(username, 8, 2)
' usr_3= Mid(username, 11, 4)
' userSAS = usr_1 & usr_2 & usr_3
LogFile= "c:\Temp\" & username & "." & year(Date) & "." & month(Date) & "." & day(Date) & "." & hour(Time) & "." & minute(Time) & "." & second(Time) & ".requeteur.log"
Lance= ExecSAS & " -autoexec " & Autoexec & " -config " & CfgFile & " -altlog " & LogFile
' ----------------------------------------------------------------------------
' Lancement executable SAS
' ----------------------------------------------------------------------------
WshShell.run Lance
wscript.quit