Utiliser un 'path' Windows

Résolu
Hiker38 Messages postés 2 Date d'inscription jeudi 9 novembre 2006 Statut Membre Dernière intervention 23 novembre 2006 - 21 nov. 2006 à 18:41
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 23 nov. 2006 à 15:55
Bonjour,

En tant que débutant en vbscript, je dois modifier un fichier vbscript.
Je voudrais avoir un 'path' comme constante et l'utiliser pour manipuler des fichiers (file_in, file_out), de façon à ce que la valeur du 'path' soit une seul fois dans le fichier source, pour pouvoir le mettre à jour facilement.
ex:
  Const path="C:\omniback-test"
.
.
file_in= path + "\installation\ipconfig_all.txt"

est-ce que la syntaxe est correcte, sinon quelle est la bonne ?

Y-a-t-il une autre solution pour éviter que cette chaine de caractère soit "en dur" dans le fichier source de vbscript ?
Ce fichier est appelé dans un fichier de commande DOS.

D'avance merci

9 réponses

leSaleGauSS Messages postés 148 Date d'inscription samedi 4 novembre 2006 Statut Membre Dernière intervention 4 décembre 2008
21 nov. 2006 à 19:09
Que veux tu dire par "en dur" ?
sinon quand il s'agit de chaines en utilise & à la place  de +
file_in= path & "\installation\ipconfig_all.txt"

Quand je suis là tout va mal  
3
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
21 nov. 2006 à 19:19
 Re,

Exemple:
Set WshShell = WScript.CreateObject("WScript.Shell")
Dim Path_Local : Path_Local = WshShell.ExpandEnvironmentStrings("%WinDir%") & ""

jean-marc
3
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
21 nov. 2006 à 19:07
 Bonsoir

Il faut éviter de mettre des "+". A remplacer par &
Un petit tour sur le site de "Jean-Claude BELLAMY" s'impose.

Bonne continuation et bon courage
jean-marc
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
21 nov. 2006 à 19:13
 Re,

Pour la 2ème question, je ne suis pas sur d'avoir tout saisi ! Qu'y-t-il en dur ?

Y-a-t-il une autre solution pour éviter que cette chaine de caractère soit "en dur" dans le fichier source de vbscript ?

'  Const path="C:\omniback-test"
'  file_in= path + "\installation\ipconfig_all.txt"

ou Rem ou tout simplement, ne pas les déclarer....
Par moment, j'ai un humour à étrangler.
jean-marc
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
leSaleGauSS Messages postés 148 Date d'inscription samedi 4 novembre 2006 Statut Membre Dernière intervention 4 décembre 2008
21 nov. 2006 à 19:33
J'ai l'impression qu'on se répète ...

Quand je suis là tout va mal  
0
Dolphin Boy Messages postés 630 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 17 février 2007
21 nov. 2006 à 20:22
Salut,
Si ton fichier "ipconfig_all.txt" est dans le même dossier/répertoire que ton .vbs, tu peux essayer d'utiliser cette syntaxe :

file_in = ".\ipconfig_all.txt"
0
Hiker38 Messages postés 2 Date d'inscription jeudi 9 novembre 2006 Statut Membre Dernière intervention 23 novembre 2006
23 nov. 2006 à 10:42
Merci pour les réponses.

Suivant les conseils trouvés dans les réponses, j'ai utilisé la syntaxe suivante :
 Set WshShell = WScript.CreateObject("WScript.Shell")
  Dim Path_Local : Path_Local = WshShell.ExpandEnvironmentStrings("%APPLICATION_HOME%")

la suite du programme :
'        file_in nom du fichier ouvert
  file_in= Path_Local & "\installation\ipconfig_all.txt"

Il semble que le fichier ne peut pas être ouvert, pourtant il existe physiquement.
Pour tester son existence, j'ai utilisé la commande suivante, qui ne fonctionne pas :
If Dir(Path_Local & "\installation\ipconfig_all.txt") = vbNullString Then Call MsgBox ("le fichier existe")

Encore merci.
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
23 nov. 2006 à 12:27
 Bonjour à tous

Exemple a adapter pour vb6.

Il faut d'abord vérifier la cohérence de file_in.
J'ai mis ci-dessous un exemple avec fso.
Il y a des commandes vb6 qui permettent la vérif de l'existence d'un file (ou folder),
sans utiliser fso, mais je ne les connais pas.
Lors de la création d'un code, il ne faut pas lésiner sur les msgbox !!!!

Dim fso        : Set Fso = CreateObject("Scripting.FileSystemObject")
Dim WshShell   : Set WshShell = WScript.CreateObject("WScript.Shell")
Dim Path_Local : Path_Local = WshShell.ExpandEnvironmentStrings("%APPLICATION_HOME%")



Dim file_in    : file_in = Path_Local & "\installation\ipconfig_all.txt"





MsgBox file_in,,"Vérification path complet"




If Fso.FileExists(file_in) Then 
    MsgBox file_in & " existe",,"Vérif de la présence du fichier"
   Else
   Msgbox file_in,,"problème de synthaxe surement car path-fichier inconnu"
End If




'Il semble que le fichier ne peut pas être ouvert, pourtant il existe physiquement.
'Pour tester son existence, j'ai utilisé la commande suivante, qui ne fonctionne pas :
'If Dir(Path_Local & "\installation\ipconfig_all.txt") = vbNullString Then Call MsgBox ("le fichier existe")






jean-marc
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
23 nov. 2006 à 15:55
 Re,

exemple:

Dim wSrce : wSrce = "D:\LOG"
Dim wDest : wDest = "O:\Affaires\K4FCRZ\4.5 Dossiers TMA\Sauv_JMO"
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(wDest) Then
   fso.DeleteFolder(wDest & "\*"), True
Else
   fso.CreateFolder(wDest)
End if
fso.copyFolder wSrce, wDest, True
Set fso = Nothing
MsgBox "Sauvegarde sur server terminée"

jean-marc
0
Rejoignez-nous