Re: Pb LanceAppli(....) et fichiers .vbs | Sujet: Re: Pb LanceAppli(....) et fichiers .vbs par nrobin sur 25/5/2007 12:03:48
Problème résolu:
Etant donné que les fichiers .vbs sont exécutés à partir de l'exécuteur de script windows, j'ai tenté d'exécuter WScript.exe en lui passant en paramètre, mon fichier .vbs et ces arguments.
Cela fonctionne parfaitement. Encore merci pour vos conseils.
Voila ma solution:
PROCEDURE LireDateDernierAcces(cheminFichier)
// Récupérer la date de dernier accès
IdFichier est un entier
date est une chaîne
taille arg3 est un entier
taille st est un entier
fic est une chaîne = fExtraitChemin(sIniParametreChemin, fDisque) + fExtraitChemin(sIniParametreChemin, fRépertoire) + "donneDateAcces.vbs"
arg1 est une chaîne = fExtraitChemin(cheminFichier, fDisque) + fExtraitChemin(cheminFichier, fRépertoire)
arg2 est une chaîne = fExtraitChemin(cheminFichier, fFichier) + fExtraitChemin(cheminFichier, fExtension)
arg3 est une chaîne = fExtraitChemin(fic, fDisque) + fExtraitChemin(fic, fRépertoire) + "ficDateAcces.txt"
st est une chaîne
sCommande est une chaîne
sCommande = ChaîneConstruit([
"%1" "%2" "%3" "%4"
], fic, arg1, arg2, arg3)
sTexte est une chaîne
sTexte = """" + fic + """ " + " """ + arg1 + """ """ + arg2 + """ """ + arg3 + """"
exec est une chaîne = "C:\WINDOWS\System32\WScript.exe"
exec = """" + exec + """"
chaineScript est une chaîne = exec + " " + sTexte
LanceAppli(chaineScript)
Multitache(50)
IdFichier = fOuvre(arg3, foLectureEcriture)
SI IdFichier <> -1 ALORS
// Lecture d'une ligne dans ce fichier
date = fLitLigne(IdFichier)
FIN
fFerme(IdFichier)
// Lecture de la date en cours
dateAcces = date
RENVOYER dateAcces
Voila le script de mon fichier .vbs permettant de récupérer la date de dernier accès à un fichier sans la modifier: (peut-être que cela peut vous servir)
option explicit
dim FSO, Arg1, Arg2, Arg3, rep, fic, dateAcces, ficDateAcces
Const ForWriting = 2
'On récupère les arguments
Arg1 = Wscript.Arguments(0)
Arg2 = Wscript.Arguments(1)
Arg3 = Wscript.Arguments(2)
Set FSO = CreateObject("Scripting.FileSystemObject")
if FSO.FileExists(Arg1 + Arg2) = true then
Set rep = FSO.GetFolder(Arg1)
Set fic = FSO.GetFile(Arg1 + Arg2)
'Recuperation de la date
if FSO.FileExists(rep.Path & "\" & fic.Name) = true then
dateAcces = fic.DateLastAccessed
end if
'On écrit la date dans un fichier texte
Set ficDateAcces = fso.OpenTextFile(Arg3, ForWriting, true)
ficDateAcces.Write(dateAcces)
else
'On écrit la date dans un fichier texte
dateAcces = "00/00/0000 00:00:00"
Set ficDateAcces = fso.OpenTextFile(Arg3, ForWriting, true)
ficDateAcces.Write(dateAcces)
end if
|
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|