Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité. Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai au
préalable créé un fichier avec une seule ligne pour spécifier le nom de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
----------- voici le programme -------------------
Sub Listdir()
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
Set fso = CreateObject("Scripting.FileSystemObject")
Set rep = fso.OpenTextFile("$$repname$$.txt", ForReading)
path = rep.ReadLine ' Renvoie le nom du répertoire"
Set MyFile = fso.CreateTextFile("$$listdir$$.txt", True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
listdir
Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité. Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai au
préalable créé un fichier avec une seule ligne pour spécifier le nom de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
----------- voici le programme -------------------
Sub Listdir()
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
Set fso = CreateObject("Scripting.FileSystemObject")
Set rep = fso.OpenTextFile("$$repname$$.txt", ForReading)
path = rep.ReadLine ' Renvoie le nom du répertoire"
Set MyFile = fso.CreateTextFile("$$listdir$$.txt", True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
listdir
Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité. Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai au
préalable créé un fichier avec une seule ligne pour spécifier le nom de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
----------- voici le programme -------------------
Sub Listdir()
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
Set fso = CreateObject("Scripting.FileSystemObject")
Set rep = fso.OpenTextFile("$$repname$$.txt", ForReading)
path = rep.ReadLine ' Renvoie le nom du répertoire"
Set MyFile = fso.CreateTextFile("$$listdir$$.txt", True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
listdir
Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet arguments de la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" a écrit dans le message de news:Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité. Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai au
préalable créé un fichier avec une seule ligne pour spécifier le nom de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
----------- voici le programme -------------------
Sub Listdir()
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
Set fso = CreateObject("Scripting.FileSystemObject")
Set rep = fso.OpenTextFile("$$repname$$.txt", ForReading)
path = rep.ReadLine ' Renvoie le nom du répertoire"
Set MyFile = fso.CreateTextFile("$$listdir$$.txt", True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
listdir
Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet arguments de la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de news:
9DA38379-793D-4332-9E5E-6CF332E18A72@microsoft.com...
Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité. Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai au
préalable créé un fichier avec une seule ligne pour spécifier le nom de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
----------- voici le programme -------------------
Sub Listdir()
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
Set fso = CreateObject("Scripting.FileSystemObject")
Set rep = fso.OpenTextFile("$$repname$$.txt", ForReading)
path = rep.ReadLine ' Renvoie le nom du répertoire"
Set MyFile = fso.CreateTextFile("$$listdir$$.txt", True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
listdir
Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet arguments de la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" a écrit dans le message de news:Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité. Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai au
préalable créé un fichier avec une seule ligne pour spécifier le nom de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
----------- voici le programme -------------------
Sub Listdir()
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
Set fso = CreateObject("Scripting.FileSystemObject")
Set rep = fso.OpenTextFile("$$repname$$.txt", ForReading)
path = rep.ReadLine ' Renvoie le nom du répertoire"
Set MyFile = fso.CreateTextFile("$$listdir$$.txt", True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
listdir
Merci Georges, j'avais déjà essayé quelque chose dans ce genre (mais
beaucoup
moins sophistiqué). J'ai donc ajouté les lignes que vous proposez, mais
quand
j'exécute le programme, j'obtiens le une fenêtre avec le message :
Nombre d'arguments ou affectation de propriété incorrects :LISTDIR
J'ai l'impression (car je ne suis novice) que cela est dû à l'appel de la
procédure Listdir à partir de la dernière ligne. Ne faut-il pas une
procédure Main ou quelque chose comme ça ? Car si ListDir est un
sous-programme, je suppose qu'il faut un programme principal qui lui passe
les paramètre.
J'ai oublié de vous dire que ce programme .EXE est invoqué dans une
fenêtre
DOS
Merci encore
Gégé
Voici l'ensemble de mon programme avec vos modifications.
Sub ListDir(p_repertoire, p_fichier_sortie)
Const ForReading = 1, ForWriting = 2
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
Dim path, fso, f, file, f1, Myfile, rep
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
"Georges MAUREL" wrote:Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet arguments de
la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" a écrit dans le message de news:Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité. Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai
également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai au
préalable créé un fichier avec une seule ligne pour spécifier le nom de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de
loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
----------- voici le programme -------------------
Sub Listdir()
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
Set fso = CreateObject("Scripting.FileSystemObject")
Set rep = fso.OpenTextFile("$$repname$$.txt", ForReading)
path = rep.ReadLine ' Renvoie le nom du répertoire"
Set MyFile = fso.CreateTextFile("$$listdir$$.txt", True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
listdir
Merci Georges, j'avais déjà essayé quelque chose dans ce genre (mais
beaucoup
moins sophistiqué). J'ai donc ajouté les lignes que vous proposez, mais
quand
j'exécute le programme, j'obtiens le une fenêtre avec le message :
Nombre d'arguments ou affectation de propriété incorrects :LISTDIR
J'ai l'impression (car je ne suis novice) que cela est dû à l'appel de la
procédure Listdir à partir de la dernière ligne. Ne faut-il pas une
procédure Main ou quelque chose comme ça ? Car si ListDir est un
sous-programme, je suppose qu'il faut un programme principal qui lui passe
les paramètre.
J'ai oublié de vous dire que ce programme .EXE est invoqué dans une
fenêtre
DOS
Merci encore
Gégé
Voici l'ensemble de mon programme avec vos modifications.
Sub ListDir(p_repertoire, p_fichier_sortie)
Const ForReading = 1, ForWriting = 2
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
Dim path, fso, f, file, f1, Myfile, rep
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
"Georges MAUREL" wrote:
Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet arguments de
la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de news:
9DA38379-793D-4332-9E5E-6CF332E18A72@microsoft.com...
Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité. Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai
également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai au
préalable créé un fichier avec une seule ligne pour spécifier le nom de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de
loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
----------- voici le programme -------------------
Sub Listdir()
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
Set fso = CreateObject("Scripting.FileSystemObject")
Set rep = fso.OpenTextFile("$$repname$$.txt", ForReading)
path = rep.ReadLine ' Renvoie le nom du répertoire"
Set MyFile = fso.CreateTextFile("$$listdir$$.txt", True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
listdir
Merci Georges, j'avais déjà essayé quelque chose dans ce genre (mais
beaucoup
moins sophistiqué). J'ai donc ajouté les lignes que vous proposez, mais
quand
j'exécute le programme, j'obtiens le une fenêtre avec le message :
Nombre d'arguments ou affectation de propriété incorrects :LISTDIR
J'ai l'impression (car je ne suis novice) que cela est dû à l'appel de la
procédure Listdir à partir de la dernière ligne. Ne faut-il pas une
procédure Main ou quelque chose comme ça ? Car si ListDir est un
sous-programme, je suppose qu'il faut un programme principal qui lui passe
les paramètre.
J'ai oublié de vous dire que ce programme .EXE est invoqué dans une
fenêtre
DOS
Merci encore
Gégé
Voici l'ensemble de mon programme avec vos modifications.
Sub ListDir(p_repertoire, p_fichier_sortie)
Const ForReading = 1, ForWriting = 2
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
Dim path, fso, f, file, f1, Myfile, rep
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
"Georges MAUREL" wrote:Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet arguments de
la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" a écrit dans le message de news:Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité. Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai
également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai au
préalable créé un fichier avec une seule ligne pour spécifier le nom de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de
loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
----------- voici le programme -------------------
Sub Listdir()
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
Set fso = CreateObject("Scripting.FileSystemObject")
Set rep = fso.OpenTextFile("$$repname$$.txt", ForReading)
path = rep.ReadLine ' Renvoie le nom du répertoire"
Set MyFile = fso.CreateTextFile("$$listdir$$.txt", True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
listdir
Re bonjour Gege
Effectivement, c'est dans le programme principal que l'on peut tester les
paramètre passés
Voici donc le code rectifié. J'ai aussi corrigé le fait que vous aviez omis
les " sur toutes les chaines de caractères
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = trim(objArgs(0))
v_fichier_sortie = trim(objArgs(1))
ListDir v_repertoire, v_fichier_sortie
end if
Sub ListDir(v_repertoire, v_fichier_sortie)
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
if right(v_repertoire,1)<>"" then
v_repertoire = v_repertoire + ""
end if
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
wscript.echo v_name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & "-" & _
"Created" & fil.DateCreated & _
"- Lastaccess " & fil.DateLastAccessed & _
"- Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
Cordialement
Georges
"Gege" a écrit dans le message de news:Merci Georges, j'avais déjà essayé quelque chose dans ce genre (mais
beaucoup
moins sophistiqué). J'ai donc ajouté les lignes que vous proposez, mais
quand
j'exécute le programme, j'obtiens le une fenêtre avec le message :
Nombre d'arguments ou affectation de propriété incorrects :LISTDIR
J'ai l'impression (car je ne suis novice) que cela est dû à l'appel de la
procédure Listdir à partir de la dernière ligne. Ne faut-il pas une
procédure Main ou quelque chose comme ça ? Car si ListDir est un
sous-programme, je suppose qu'il faut un programme principal qui lui passe
les paramètre.
J'ai oublié de vous dire que ce programme .EXE est invoqué dans une
fenêtre
DOS
Merci encore
Gégé
Voici l'ensemble de mon programme avec vos modifications.
Sub ListDir(p_repertoire, p_fichier_sortie)
Const ForReading = 1, ForWriting = 2
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
Dim path, fso, f, file, f1, Myfile, rep
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
"Georges MAUREL" wrote:Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet arguments de
la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" a écrit dans le message de news:Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité. Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai
également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai au
préalable créé un fichier avec une seule ligne pour spécifier le nom de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de
loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
Re bonjour Gege
Effectivement, c'est dans le programme principal que l'on peut tester les
paramètre passés
Voici donc le code rectifié. J'ai aussi corrigé le fait que vous aviez omis
les " sur toutes les chaines de caractères
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = trim(objArgs(0))
v_fichier_sortie = trim(objArgs(1))
ListDir v_repertoire, v_fichier_sortie
end if
Sub ListDir(v_repertoire, v_fichier_sortie)
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
if right(v_repertoire,1)<>"" then
v_repertoire = v_repertoire + ""
end if
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
wscript.echo v_name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & "-" & _
"Created" & fil.DateCreated & _
"- Lastaccess " & fil.DateLastAccessed & _
"- Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de news:
DDA01FCD-607C-4498-9044-703308B3B8DB@microsoft.com...
Merci Georges, j'avais déjà essayé quelque chose dans ce genre (mais
beaucoup
moins sophistiqué). J'ai donc ajouté les lignes que vous proposez, mais
quand
j'exécute le programme, j'obtiens le une fenêtre avec le message :
Nombre d'arguments ou affectation de propriété incorrects :LISTDIR
J'ai l'impression (car je ne suis novice) que cela est dû à l'appel de la
procédure Listdir à partir de la dernière ligne. Ne faut-il pas une
procédure Main ou quelque chose comme ça ? Car si ListDir est un
sous-programme, je suppose qu'il faut un programme principal qui lui passe
les paramètre.
J'ai oublié de vous dire que ce programme .EXE est invoqué dans une
fenêtre
DOS
Merci encore
Gégé
Voici l'ensemble de mon programme avec vos modifications.
Sub ListDir(p_repertoire, p_fichier_sortie)
Const ForReading = 1, ForWriting = 2
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
Dim path, fso, f, file, f1, Myfile, rep
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
"Georges MAUREL" wrote:
Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet arguments de
la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de news:
9DA38379-793D-4332-9E5E-6CF332E18A72@microsoft.com...
Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité. Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai
également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai au
préalable créé un fichier avec une seule ligne pour spécifier le nom de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de
loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
Re bonjour Gege
Effectivement, c'est dans le programme principal que l'on peut tester les
paramètre passés
Voici donc le code rectifié. J'ai aussi corrigé le fait que vous aviez omis
les " sur toutes les chaines de caractères
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = trim(objArgs(0))
v_fichier_sortie = trim(objArgs(1))
ListDir v_repertoire, v_fichier_sortie
end if
Sub ListDir(v_repertoire, v_fichier_sortie)
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
if right(v_repertoire,1)<>"" then
v_repertoire = v_repertoire + ""
end if
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
wscript.echo v_name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & "-" & _
"Created" & fil.DateCreated & _
"- Lastaccess " & fil.DateLastAccessed & _
"- Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
Cordialement
Georges
"Gege" a écrit dans le message de news:Merci Georges, j'avais déjà essayé quelque chose dans ce genre (mais
beaucoup
moins sophistiqué). J'ai donc ajouté les lignes que vous proposez, mais
quand
j'exécute le programme, j'obtiens le une fenêtre avec le message :
Nombre d'arguments ou affectation de propriété incorrects :LISTDIR
J'ai l'impression (car je ne suis novice) que cela est dû à l'appel de la
procédure Listdir à partir de la dernière ligne. Ne faut-il pas une
procédure Main ou quelque chose comme ça ? Car si ListDir est un
sous-programme, je suppose qu'il faut un programme principal qui lui passe
les paramètre.
J'ai oublié de vous dire que ce programme .EXE est invoqué dans une
fenêtre
DOS
Merci encore
Gégé
Voici l'ensemble de mon programme avec vos modifications.
Sub ListDir(p_repertoire, p_fichier_sortie)
Const ForReading = 1, ForWriting = 2
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
Dim path, fso, f, file, f1, Myfile, rep
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
"Georges MAUREL" wrote:Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet arguments de
la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" a écrit dans le message de news:Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité. Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai
également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai au
préalable créé un fichier avec une seule ligne pour spécifier le nom de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de
loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
Merci Georges pour votre patience. J'ai fait un copier/coller de votre
code.
Puis je l'ai compilé, puis lancé une fenêtre DOS dans laquelle j'ai entré
:
LISTDIR C:temp C:Temptoto.lst
Une msgbox s'affiche me disant :
Objet requis : 'wscript'
aviez-vous fait l'essai ?
Ai-je oublié une étape ?
Est-ce que ce code marche en environnement DOS ?
Ne doit-on pas définir une instruction de type Sub Main (ou Procédure
main,
ou quelquechose d'approchant ?)
Merci encore pour tout
Gérard
"Georges MAUREL" wrote:Re bonjour Gege
Effectivement, c'est dans le programme principal que l'on peut tester les
paramètre passés
Voici donc le code rectifié. J'ai aussi corrigé le fait que vous aviez
omis
les " sur toutes les chaines de caractères
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = trim(objArgs(0))
v_fichier_sortie = trim(objArgs(1))
ListDir v_repertoire, v_fichier_sortie
end if
Sub ListDir(v_repertoire, v_fichier_sortie)
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
if right(v_repertoire,1)<>"" then
v_repertoire = v_repertoire + ""
end if
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
wscript.echo v_name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & "-" & _
"Created" & fil.DateCreated & _
"- Lastaccess " & fil.DateLastAccessed & _
"- Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
Cordialement
Georges
"Gege" a écrit dans le message de news:Merci Georges, j'avais déjà essayé quelque chose dans ce genre (mais
beaucoup
moins sophistiqué). J'ai donc ajouté les lignes que vous proposez,
mais
quand
j'exécute le programme, j'obtiens le une fenêtre avec le message :
Nombre d'arguments ou affectation de propriété incorrects :LISTDIR
J'ai l'impression (car je ne suis novice) que cela est dû à l'appel de
la
procédure Listdir à partir de la dernière ligne. Ne faut-il pas une
procédure Main ou quelque chose comme ça ? Car si ListDir est un
sous-programme, je suppose qu'il faut un programme principal qui lui
passe
les paramètre.
J'ai oublié de vous dire que ce programme .EXE est invoqué dans une
fenêtre
DOS
Merci encore
Gégé
Voici l'ensemble de mon programme avec vos modifications.
Sub ListDir(p_repertoire, p_fichier_sortie)
Const ForReading = 1, ForWriting = 2
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
Dim path, fso, f, file, f1, Myfile, rep
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
"Georges MAUREL" wrote:Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet arguments
de
la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier
de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" a écrit dans le message de
news:Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité.
Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter
le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai
également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai
au
préalable créé un fichier avec une seule ligne pour spécifier le nom
de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de
loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
Merci Georges pour votre patience. J'ai fait un copier/coller de votre
code.
Puis je l'ai compilé, puis lancé une fenêtre DOS dans laquelle j'ai entré
:
LISTDIR C:temp C:Temptoto.lst
Une msgbox s'affiche me disant :
Objet requis : 'wscript'
aviez-vous fait l'essai ?
Ai-je oublié une étape ?
Est-ce que ce code marche en environnement DOS ?
Ne doit-on pas définir une instruction de type Sub Main (ou Procédure
main,
ou quelquechose d'approchant ?)
Merci encore pour tout
Gérard
"Georges MAUREL" wrote:
Re bonjour Gege
Effectivement, c'est dans le programme principal que l'on peut tester les
paramètre passés
Voici donc le code rectifié. J'ai aussi corrigé le fait que vous aviez
omis
les " sur toutes les chaines de caractères
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = trim(objArgs(0))
v_fichier_sortie = trim(objArgs(1))
ListDir v_repertoire, v_fichier_sortie
end if
Sub ListDir(v_repertoire, v_fichier_sortie)
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
if right(v_repertoire,1)<>"" then
v_repertoire = v_repertoire + ""
end if
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
wscript.echo v_name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & "-" & _
"Created" & fil.DateCreated & _
"- Lastaccess " & fil.DateLastAccessed & _
"- Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de news:
DDA01FCD-607C-4498-9044-703308B3B8DB@microsoft.com...
Merci Georges, j'avais déjà essayé quelque chose dans ce genre (mais
beaucoup
moins sophistiqué). J'ai donc ajouté les lignes que vous proposez,
mais
quand
j'exécute le programme, j'obtiens le une fenêtre avec le message :
Nombre d'arguments ou affectation de propriété incorrects :LISTDIR
J'ai l'impression (car je ne suis novice) que cela est dû à l'appel de
la
procédure Listdir à partir de la dernière ligne. Ne faut-il pas une
procédure Main ou quelque chose comme ça ? Car si ListDir est un
sous-programme, je suppose qu'il faut un programme principal qui lui
passe
les paramètre.
J'ai oublié de vous dire que ce programme .EXE est invoqué dans une
fenêtre
DOS
Merci encore
Gégé
Voici l'ensemble de mon programme avec vos modifications.
Sub ListDir(p_repertoire, p_fichier_sortie)
Const ForReading = 1, ForWriting = 2
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
Dim path, fso, f, file, f1, Myfile, rep
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
"Georges MAUREL" wrote:
Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet arguments
de
la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier
de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de
news:
9DA38379-793D-4332-9E5E-6CF332E18A72@microsoft.com...
Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité.
Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter
le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai
également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai
au
préalable créé un fichier avec une seule ligne pour spécifier le nom
de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de
loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
Merci Georges pour votre patience. J'ai fait un copier/coller de votre
code.
Puis je l'ai compilé, puis lancé une fenêtre DOS dans laquelle j'ai entré
:
LISTDIR C:temp C:Temptoto.lst
Une msgbox s'affiche me disant :
Objet requis : 'wscript'
aviez-vous fait l'essai ?
Ai-je oublié une étape ?
Est-ce que ce code marche en environnement DOS ?
Ne doit-on pas définir une instruction de type Sub Main (ou Procédure
main,
ou quelquechose d'approchant ?)
Merci encore pour tout
Gérard
"Georges MAUREL" wrote:Re bonjour Gege
Effectivement, c'est dans le programme principal que l'on peut tester les
paramètre passés
Voici donc le code rectifié. J'ai aussi corrigé le fait que vous aviez
omis
les " sur toutes les chaines de caractères
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = trim(objArgs(0))
v_fichier_sortie = trim(objArgs(1))
ListDir v_repertoire, v_fichier_sortie
end if
Sub ListDir(v_repertoire, v_fichier_sortie)
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
if right(v_repertoire,1)<>"" then
v_repertoire = v_repertoire + ""
end if
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
wscript.echo v_name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & "-" & _
"Created" & fil.DateCreated & _
"- Lastaccess " & fil.DateLastAccessed & _
"- Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
Cordialement
Georges
"Gege" a écrit dans le message de news:Merci Georges, j'avais déjà essayé quelque chose dans ce genre (mais
beaucoup
moins sophistiqué). J'ai donc ajouté les lignes que vous proposez,
mais
quand
j'exécute le programme, j'obtiens le une fenêtre avec le message :
Nombre d'arguments ou affectation de propriété incorrects :LISTDIR
J'ai l'impression (car je ne suis novice) que cela est dû à l'appel de
la
procédure Listdir à partir de la dernière ligne. Ne faut-il pas une
procédure Main ou quelque chose comme ça ? Car si ListDir est un
sous-programme, je suppose qu'il faut un programme principal qui lui
passe
les paramètre.
J'ai oublié de vous dire que ce programme .EXE est invoqué dans une
fenêtre
DOS
Merci encore
Gégé
Voici l'ensemble de mon programme avec vos modifications.
Sub ListDir(p_repertoire, p_fichier_sortie)
Const ForReading = 1, ForWriting = 2
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
Dim path, fso, f, file, f1, Myfile, rep
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
"Georges MAUREL" wrote:Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet arguments
de
la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier
de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" a écrit dans le message de
news:Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité.
Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter
le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai
également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai
au
préalable créé un fichier avec une seule ligne pour spécifier le nom
de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de
loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
Re bonjour Gege
il y a d'abord une erreur sur la ligne
if nbargument2 then
au lieu de
if nbargument<>2 then
Ensuite, sur les options de compilation, avez-vous sélectionné wscript
support dans execution style ?
Cordialement
Georges
"Gege" a écrit dans le message de news:Merci Georges pour votre patience. J'ai fait un copier/coller de votre
code.
Puis je l'ai compilé, puis lancé une fenêtre DOS dans laquelle j'ai entré
:
LISTDIR C:temp C:Temptoto.lst
Une msgbox s'affiche me disant :
Objet requis : 'wscript'
aviez-vous fait l'essai ?
Ai-je oublié une étape ?
Est-ce que ce code marche en environnement DOS ?
Ne doit-on pas définir une instruction de type Sub Main (ou Procédure
main,
ou quelquechose d'approchant ?)
Merci encore pour tout
Gérard
"Georges MAUREL" wrote:Re bonjour Gege
Effectivement, c'est dans le programme principal que l'on peut tester les
paramètre passés
Voici donc le code rectifié. J'ai aussi corrigé le fait que vous aviez
omis
les " sur toutes les chaines de caractères
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = trim(objArgs(0))
v_fichier_sortie = trim(objArgs(1))
ListDir v_repertoire, v_fichier_sortie
end if
Sub ListDir(v_repertoire, v_fichier_sortie)
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
if right(v_repertoire,1)<>"" then
v_repertoire = v_repertoire + ""
end if
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
wscript.echo v_name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & "-" & _
"Created" & fil.DateCreated & _
"- Lastaccess " & fil.DateLastAccessed & _
"- Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
Cordialement
Georges
"Gege" a écrit dans le message de news:Merci Georges, j'avais déjà essayé quelque chose dans ce genre (mais
beaucoup
moins sophistiqué). J'ai donc ajouté les lignes que vous proposez,
mais
quand
j'exécute le programme, j'obtiens le une fenêtre avec le message :
Nombre d'arguments ou affectation de propriété incorrects :LISTDIR
J'ai l'impression (car je ne suis novice) que cela est dû à l'appel de
la
procédure Listdir à partir de la dernière ligne. Ne faut-il pas une
procédure Main ou quelque chose comme ça ? Car si ListDir est un
sous-programme, je suppose qu'il faut un programme principal qui lui
passe
les paramètre.
J'ai oublié de vous dire que ce programme .EXE est invoqué dans une
fenêtre
DOS
Merci encore
Gégé
Voici l'ensemble de mon programme avec vos modifications.
Sub ListDir(p_repertoire, p_fichier_sortie)
Const ForReading = 1, ForWriting = 2
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
Dim path, fso, f, file, f1, Myfile, rep
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
"Georges MAUREL" wrote:Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet arguments
de
la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier
de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" a écrit dans le message de
news:Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité.
Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter
le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai
également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai
au
préalable créé un fichier avec une seule ligne pour spécifier le nom
de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de
loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
Re bonjour Gege
il y a d'abord une erreur sur la ligne
if nbargument2 then
au lieu de
if nbargument<>2 then
Ensuite, sur les options de compilation, avez-vous sélectionné wscript
support dans execution style ?
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de news:
A91AA56B-6912-4EE4-8F7D-7B64B5E8BD4B@microsoft.com...
Merci Georges pour votre patience. J'ai fait un copier/coller de votre
code.
Puis je l'ai compilé, puis lancé une fenêtre DOS dans laquelle j'ai entré
:
LISTDIR C:temp C:Temptoto.lst
Une msgbox s'affiche me disant :
Objet requis : 'wscript'
aviez-vous fait l'essai ?
Ai-je oublié une étape ?
Est-ce que ce code marche en environnement DOS ?
Ne doit-on pas définir une instruction de type Sub Main (ou Procédure
main,
ou quelquechose d'approchant ?)
Merci encore pour tout
Gérard
"Georges MAUREL" wrote:
Re bonjour Gege
Effectivement, c'est dans le programme principal que l'on peut tester les
paramètre passés
Voici donc le code rectifié. J'ai aussi corrigé le fait que vous aviez
omis
les " sur toutes les chaines de caractères
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = trim(objArgs(0))
v_fichier_sortie = trim(objArgs(1))
ListDir v_repertoire, v_fichier_sortie
end if
Sub ListDir(v_repertoire, v_fichier_sortie)
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
if right(v_repertoire,1)<>"" then
v_repertoire = v_repertoire + ""
end if
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
wscript.echo v_name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & "-" & _
"Created" & fil.DateCreated & _
"- Lastaccess " & fil.DateLastAccessed & _
"- Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de news:
DDA01FCD-607C-4498-9044-703308B3B8DB@microsoft.com...
Merci Georges, j'avais déjà essayé quelque chose dans ce genre (mais
beaucoup
moins sophistiqué). J'ai donc ajouté les lignes que vous proposez,
mais
quand
j'exécute le programme, j'obtiens le une fenêtre avec le message :
Nombre d'arguments ou affectation de propriété incorrects :LISTDIR
J'ai l'impression (car je ne suis novice) que cela est dû à l'appel de
la
procédure Listdir à partir de la dernière ligne. Ne faut-il pas une
procédure Main ou quelque chose comme ça ? Car si ListDir est un
sous-programme, je suppose qu'il faut un programme principal qui lui
passe
les paramètre.
J'ai oublié de vous dire que ce programme .EXE est invoqué dans une
fenêtre
DOS
Merci encore
Gégé
Voici l'ensemble de mon programme avec vos modifications.
Sub ListDir(p_repertoire, p_fichier_sortie)
Const ForReading = 1, ForWriting = 2
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
Dim path, fso, f, file, f1, Myfile, rep
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
"Georges MAUREL" wrote:
Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet arguments
de
la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier
de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de
news:
9DA38379-793D-4332-9E5E-6CF332E18A72@microsoft.com...
Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité.
Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter
le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai
également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai
au
préalable créé un fichier avec une seule ligne pour spécifier le nom
de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de
loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
Re bonjour Gege
il y a d'abord une erreur sur la ligne
if nbargument2 then
au lieu de
if nbargument<>2 then
Ensuite, sur les options de compilation, avez-vous sélectionné wscript
support dans execution style ?
Cordialement
Georges
"Gege" a écrit dans le message de news:Merci Georges pour votre patience. J'ai fait un copier/coller de votre
code.
Puis je l'ai compilé, puis lancé une fenêtre DOS dans laquelle j'ai entré
:
LISTDIR C:temp C:Temptoto.lst
Une msgbox s'affiche me disant :
Objet requis : 'wscript'
aviez-vous fait l'essai ?
Ai-je oublié une étape ?
Est-ce que ce code marche en environnement DOS ?
Ne doit-on pas définir une instruction de type Sub Main (ou Procédure
main,
ou quelquechose d'approchant ?)
Merci encore pour tout
Gérard
"Georges MAUREL" wrote:Re bonjour Gege
Effectivement, c'est dans le programme principal que l'on peut tester les
paramètre passés
Voici donc le code rectifié. J'ai aussi corrigé le fait que vous aviez
omis
les " sur toutes les chaines de caractères
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = trim(objArgs(0))
v_fichier_sortie = trim(objArgs(1))
ListDir v_repertoire, v_fichier_sortie
end if
Sub ListDir(v_repertoire, v_fichier_sortie)
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
if right(v_repertoire,1)<>"" then
v_repertoire = v_repertoire + ""
end if
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
wscript.echo v_name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & "-" & _
"Created" & fil.DateCreated & _
"- Lastaccess " & fil.DateLastAccessed & _
"- Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
Cordialement
Georges
"Gege" a écrit dans le message de news:Merci Georges, j'avais déjà essayé quelque chose dans ce genre (mais
beaucoup
moins sophistiqué). J'ai donc ajouté les lignes que vous proposez,
mais
quand
j'exécute le programme, j'obtiens le une fenêtre avec le message :
Nombre d'arguments ou affectation de propriété incorrects :LISTDIR
J'ai l'impression (car je ne suis novice) que cela est dû à l'appel de
la
procédure Listdir à partir de la dernière ligne. Ne faut-il pas une
procédure Main ou quelque chose comme ça ? Car si ListDir est un
sous-programme, je suppose qu'il faut un programme principal qui lui
passe
les paramètre.
J'ai oublié de vous dire que ce programme .EXE est invoqué dans une
fenêtre
DOS
Merci encore
Gégé
Voici l'ensemble de mon programme avec vos modifications.
Sub ListDir(p_repertoire, p_fichier_sortie)
Const ForReading = 1, ForWriting = 2
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
Dim path, fso, f, file, f1, Myfile, rep
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
"Georges MAUREL" wrote:Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet arguments
de
la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier
de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" a écrit dans le message de
news:Ma question est sans doute stupide, mais c'est la première fois que
j'utilise
VB car d'ordinaire je programme en Java à cause de la portabilité.
Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter
le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai
également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire, j'ai
au
préalable créé un fichier avec une seule ligne pour spécifier le nom
de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais de
loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
C'est encore moi Georges, merci beaucoup, ça marche beaucoup mieux mais
pas
parfaitement. Si ma commande est :
DIRLIST a b
le nombre d'argument est égal à 1. J'ai légèrement modifié votre coe
pour
en être sûr en
wscript.echo "Nb argument = " & objArgs.Count & ". Veuillez indiquer
le
répertoire et le nom du fichier de sortie"
Par contre si je tape
DIRLIST a b c
(quel que soit c) ça marche impécablement. En fait il semble que le
nombre d'arguments passés est toujours 1 de moins que ce que l'on entre
sur
la ligne de commande.
Enfin c'est pas grave, je peux faire avec en tapant n'importe quoi à la
fin
(par exemple un espace suivi d'un point. Toutefois, si vous avez une
explication, je suis preneur mais je subordorre qu'il s'agit d'un bug du
compilateur.
Merci encore pour tout,
Gérard
"Georges MAUREL" wrote:Re bonjour Gege
il y a d'abord une erreur sur la ligne
if nbargument2 then
au lieu de
if nbargument<>2 then
Ensuite, sur les options de compilation, avez-vous sélectionné wscript
support dans execution style ?
Cordialement
Georges
"Gege" a écrit dans le message de news:Merci Georges pour votre patience. J'ai fait un copier/coller de votre
code.
Puis je l'ai compilé, puis lancé une fenêtre DOS dans laquelle j'ai
entré
:
LISTDIR C:temp C:Temptoto.lst
Une msgbox s'affiche me disant :
Objet requis : 'wscript'
aviez-vous fait l'essai ?
Ai-je oublié une étape ?
Est-ce que ce code marche en environnement DOS ?
Ne doit-on pas définir une instruction de type Sub Main (ou Procédure
main,
ou quelquechose d'approchant ?)
Merci encore pour tout
Gérard
"Georges MAUREL" wrote:Re bonjour Gege
Effectivement, c'est dans le programme principal que l'on peut tester
les
paramètre passés
Voici donc le code rectifié. J'ai aussi corrigé le fait que vous aviez
omis
les " sur toutes les chaines de caractères
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier
de
sortie"
wscript.quit
else
v_repertoire = trim(objArgs(0))
v_fichier_sortie = trim(objArgs(1))
ListDir v_repertoire, v_fichier_sortie
end if
Sub ListDir(v_repertoire, v_fichier_sortie)
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
if right(v_repertoire,1)<>"" then
v_repertoire = v_repertoire + ""
end if
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
wscript.echo v_name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & "-" & _
"Created" & fil.DateCreated & _
"- Lastaccess " & fil.DateLastAccessed & _
"- Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
Cordialement
Georges
"Gege" a écrit dans le message de
news:Merci Georges, j'avais déjà essayé quelque chose dans ce genre (mais
beaucoup
moins sophistiqué). J'ai donc ajouté les lignes que vous proposez,
mais
quand
j'exécute le programme, j'obtiens le une fenêtre avec le message :
Nombre d'arguments ou affectation de propriété incorrects
:LISTDIR
J'ai l'impression (car je ne suis novice) que cela est dû à l'appel
de
la
procédure Listdir à partir de la dernière ligne. Ne faut-il pas une
procédure Main ou quelque chose comme ça ? Car si ListDir est un
sous-programme, je suppose qu'il faut un programme principal qui lui
passe
les paramètre.
J'ai oublié de vous dire que ce programme .EXE est invoqué dans une
fenêtre
DOS
Merci encore
Gégé
Voici l'ensemble de mon programme avec vos modifications.
Sub ListDir(p_repertoire, p_fichier_sortie)
Const ForReading = 1, ForWriting = 2
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier
de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
Dim path, fso, f, file, f1, Myfile, rep
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
"Georges MAUREL" wrote:Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet
arguments
de
la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du
fichier
de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" a écrit dans le message de
news:Ma question est sans doute stupide, mais c'est la première fois
que
j'utilise
VB car d'ordinaire je programme en Java à cause de la
portabilité.
Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter
le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai
également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un
problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire,
j'ai
au
préalable créé un fichier avec une seule ligne pour spécifier le
nom
de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais
de
loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
C'est encore moi Georges, merci beaucoup, ça marche beaucoup mieux mais
pas
parfaitement. Si ma commande est :
DIRLIST a b
le nombre d'argument est égal à 1. J'ai légèrement modifié votre coe
pour
en être sûr en
wscript.echo "Nb argument = " & objArgs.Count & ". Veuillez indiquer
le
répertoire et le nom du fichier de sortie"
Par contre si je tape
DIRLIST a b c
(quel que soit c) ça marche impécablement. En fait il semble que le
nombre d'arguments passés est toujours 1 de moins que ce que l'on entre
sur
la ligne de commande.
Enfin c'est pas grave, je peux faire avec en tapant n'importe quoi à la
fin
(par exemple un espace suivi d'un point. Toutefois, si vous avez une
explication, je suis preneur mais je subordorre qu'il s'agit d'un bug du
compilateur.
Merci encore pour tout,
Gérard
"Georges MAUREL" wrote:
Re bonjour Gege
il y a d'abord une erreur sur la ligne
if nbargument2 then
au lieu de
if nbargument<>2 then
Ensuite, sur les options de compilation, avez-vous sélectionné wscript
support dans execution style ?
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de news:
A91AA56B-6912-4EE4-8F7D-7B64B5E8BD4B@microsoft.com...
Merci Georges pour votre patience. J'ai fait un copier/coller de votre
code.
Puis je l'ai compilé, puis lancé une fenêtre DOS dans laquelle j'ai
entré
:
LISTDIR C:temp C:Temptoto.lst
Une msgbox s'affiche me disant :
Objet requis : 'wscript'
aviez-vous fait l'essai ?
Ai-je oublié une étape ?
Est-ce que ce code marche en environnement DOS ?
Ne doit-on pas définir une instruction de type Sub Main (ou Procédure
main,
ou quelquechose d'approchant ?)
Merci encore pour tout
Gérard
"Georges MAUREL" wrote:
Re bonjour Gege
Effectivement, c'est dans le programme principal que l'on peut tester
les
paramètre passés
Voici donc le code rectifié. J'ai aussi corrigé le fait que vous aviez
omis
les " sur toutes les chaines de caractères
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier
de
sortie"
wscript.quit
else
v_repertoire = trim(objArgs(0))
v_fichier_sortie = trim(objArgs(1))
ListDir v_repertoire, v_fichier_sortie
end if
Sub ListDir(v_repertoire, v_fichier_sortie)
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
if right(v_repertoire,1)<>"" then
v_repertoire = v_repertoire + ""
end if
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
wscript.echo v_name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & "-" & _
"Created" & fil.DateCreated & _
"- Lastaccess " & fil.DateLastAccessed & _
"- Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de
news:
DDA01FCD-607C-4498-9044-703308B3B8DB@microsoft.com...
Merci Georges, j'avais déjà essayé quelque chose dans ce genre (mais
beaucoup
moins sophistiqué). J'ai donc ajouté les lignes que vous proposez,
mais
quand
j'exécute le programme, j'obtiens le une fenêtre avec le message :
Nombre d'arguments ou affectation de propriété incorrects
:LISTDIR
J'ai l'impression (car je ne suis novice) que cela est dû à l'appel
de
la
procédure Listdir à partir de la dernière ligne. Ne faut-il pas une
procédure Main ou quelque chose comme ça ? Car si ListDir est un
sous-programme, je suppose qu'il faut un programme principal qui lui
passe
les paramètre.
J'ai oublié de vous dire que ce programme .EXE est invoqué dans une
fenêtre
DOS
Merci encore
Gégé
Voici l'ensemble de mon programme avec vos modifications.
Sub ListDir(p_repertoire, p_fichier_sortie)
Const ForReading = 1, ForWriting = 2
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier
de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
Dim path, fso, f, file, f1, Myfile, rep
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
"Georges MAUREL" wrote:
Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet
arguments
de
la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du
fichier
de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de
news:
9DA38379-793D-4332-9E5E-6CF332E18A72@microsoft.com...
Ma question est sans doute stupide, mais c'est la première fois
que
j'utilise
VB car d'ordinaire je programme en Java à cause de la
portabilité.
Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter
le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai
également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un
problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire,
j'ai
au
préalable créé un fichier avec une seule ligne pour spécifier le
nom
de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais
de
loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
C'est encore moi Georges, merci beaucoup, ça marche beaucoup mieux mais
pas
parfaitement. Si ma commande est :
DIRLIST a b
le nombre d'argument est égal à 1. J'ai légèrement modifié votre coe
pour
en être sûr en
wscript.echo "Nb argument = " & objArgs.Count & ". Veuillez indiquer
le
répertoire et le nom du fichier de sortie"
Par contre si je tape
DIRLIST a b c
(quel que soit c) ça marche impécablement. En fait il semble que le
nombre d'arguments passés est toujours 1 de moins que ce que l'on entre
sur
la ligne de commande.
Enfin c'est pas grave, je peux faire avec en tapant n'importe quoi à la
fin
(par exemple un espace suivi d'un point. Toutefois, si vous avez une
explication, je suis preneur mais je subordorre qu'il s'agit d'un bug du
compilateur.
Merci encore pour tout,
Gérard
"Georges MAUREL" wrote:Re bonjour Gege
il y a d'abord une erreur sur la ligne
if nbargument2 then
au lieu de
if nbargument<>2 then
Ensuite, sur les options de compilation, avez-vous sélectionné wscript
support dans execution style ?
Cordialement
Georges
"Gege" a écrit dans le message de news:Merci Georges pour votre patience. J'ai fait un copier/coller de votre
code.
Puis je l'ai compilé, puis lancé une fenêtre DOS dans laquelle j'ai
entré
:
LISTDIR C:temp C:Temptoto.lst
Une msgbox s'affiche me disant :
Objet requis : 'wscript'
aviez-vous fait l'essai ?
Ai-je oublié une étape ?
Est-ce que ce code marche en environnement DOS ?
Ne doit-on pas définir une instruction de type Sub Main (ou Procédure
main,
ou quelquechose d'approchant ?)
Merci encore pour tout
Gérard
"Georges MAUREL" wrote:Re bonjour Gege
Effectivement, c'est dans le programme principal que l'on peut tester
les
paramètre passés
Voici donc le code rectifié. J'ai aussi corrigé le fait que vous aviez
omis
les " sur toutes les chaines de caractères
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier
de
sortie"
wscript.quit
else
v_repertoire = trim(objArgs(0))
v_fichier_sortie = trim(objArgs(1))
ListDir v_repertoire, v_fichier_sortie
end if
Sub ListDir(v_repertoire, v_fichier_sortie)
Const ForReading = 1, ForWriting = 2
Dim path, fso, f, file, f1, Myfile, rep
if right(v_repertoire,1)<>"" then
v_repertoire = v_repertoire + ""
end if
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
wscript.echo v_name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & "-" & _
"Created" & fil.DateCreated & _
"- Lastaccess " & fil.DateLastAccessed & _
"- Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
Cordialement
Georges
"Gege" a écrit dans le message de
news:Merci Georges, j'avais déjà essayé quelque chose dans ce genre (mais
beaucoup
moins sophistiqué). J'ai donc ajouté les lignes que vous proposez,
mais
quand
j'exécute le programme, j'obtiens le une fenêtre avec le message :
Nombre d'arguments ou affectation de propriété incorrects
:LISTDIR
J'ai l'impression (car je ne suis novice) que cela est dû à l'appel
de
la
procédure Listdir à partir de la dernière ligne. Ne faut-il pas une
procédure Main ou quelque chose comme ça ? Car si ListDir est un
sous-programme, je suppose qu'il faut un programme principal qui lui
passe
les paramètre.
J'ai oublié de vous dire que ce programme .EXE est invoqué dans une
fenêtre
DOS
Merci encore
Gégé
Voici l'ensemble de mon programme avec vos modifications.
Sub ListDir(p_repertoire, p_fichier_sortie)
Const ForReading = 1, ForWriting = 2
set objargs = wscript.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du fichier
de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
Dim path, fso, f, file, f1, Myfile, rep
path=v_repertoire
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile(v_fichier_sortie, True)
Set f = fso.GetFolder(path)
Set fc = f.Files
For Each f1 in fc
v_name = path & f1.name
Set fil = fso.GetFile(v_name)
MyFile.WriteLine f1.name & " - " & _
"Created " & fil.DateCreated & _
" - Lastaccess " & fil.DateLastAccessed & _
" - Lastmodified " & fil.DateLastModified
Next
MyFile.Close
End Sub
"Georges MAUREL" wrote:Bonjour Gege,
Pour récupérer des arguments, vous pouvez utiliser l'objet
arguments
de
la
façon suivante
Sub Listdir(p_repertoire, p_fichier_sortier)
set objargs = wscrip.arguments
nbargument = objArgs.Count
if nbargument<>2 then
wscript.echo "Veuillez indiquer le répertoire et le nom du
fichier
de
sortie"
wscript.quit
else
v_repertoire = objArgs(0)
v_fichier_sortie = objArgs(1)
end if
......
Cordialement
Georges
"Gege" a écrit dans le message de
news:Ma question est sans doute stupide, mais c'est la première fois
que
j'utilise
VB car d'ordinaire je programme en Java à cause de la
portabilité.
Pour
des
raisons de manque d'API spécifiques pour Win/XP, j'ai dû adapter
le
petit
programme que m'a proposé Georges MAUREL (voir plus bas). J'ai
également
acquis VBS2EXE pour le convertir en .EXE. Seulement j'ai un
problème
"Comment
passer des paramètres ".
Dans l'exemple ci-dessous, comme je ne sais pas comment faire,
j'ai
au
préalable créé un fichier avec une seule ligne pour spécifier le
nom
de
mon
répertoire dont je doit lister les caractéristiques des fichiers.
Evidemment
c'est très lourd et esthétiquement pas très joli. Je préfèrerais
de
loin
entrer :
LISTDIR nom_rep fichier_de_sortie
Comment passer les deux paramètres au programme ?
Merci d'avance.
Gérard Martinelli
Re bonjour Gérard
Effectivement, il doit y avoir un problème au niveau du compilateur... car
le nombre de paramètres n'est pas correct
En plus, je ne sais pas si pour vous c'est pareil, mais j'ai un warning à la
compilation
Cordialement
Georges MAUREL
Re bonjour Gérard
Effectivement, il doit y avoir un problème au niveau du compilateur... car
le nombre de paramètres n'est pas correct
En plus, je ne sais pas si pour vous c'est pareil, mais j'ai un warning à la
compilation
Cordialement
Georges MAUREL
Re bonjour Gérard
Effectivement, il doit y avoir un problème au niveau du compilateur... car
le nombre de paramètres n'est pas correct
En plus, je ne sais pas si pour vous c'est pareil, mais j'ai un warning à la
compilation
Cordialement
Georges MAUREL
Non moi je n'ai pas de warning. Que dit-il ?
amicalement
Gérard
l
"Georges MAUREL" wrote:Re bonjour Gérard
Effectivement, il doit y avoir un problème au niveau du compilateur...
car
le nombre de paramètres n'est pas correct
En plus, je ne sais pas si pour vous c'est pareil, mais j'ai un warning à
la
compilation
Cordialement
Georges MAUREL
Non moi je n'ai pas de warning. Que dit-il ?
amicalement
Gérard
l
"Georges MAUREL" wrote:
Re bonjour Gérard
Effectivement, il doit y avoir un problème au niveau du compilateur...
car
le nombre de paramètres n'est pas correct
En plus, je ne sais pas si pour vous c'est pareil, mais j'ai un warning à
la
compilation
Cordialement
Georges MAUREL
Non moi je n'ai pas de warning. Que dit-il ?
amicalement
Gérard
l
"Georges MAUREL" wrote:Re bonjour Gérard
Effectivement, il doit y avoir un problème au niveau du compilateur...
car
le nombre de paramètres n'est pas correct
En plus, je ne sais pas si pour vous c'est pareil, mais j'ai un warning à
la
compilation
Cordialement
Georges MAUREL
Bonjour Gérard,
En fait j'ai trouvé : en mettant un nom dans "application properties" je
n'ai plus eu de warning
Pour le problème du nombre de paramètres, je pense que vous pouvez passer un
mail sur leur support pour leur rapporter ce bug.
Cordialement
Georges
"Gege" a écrit dans le message de news:Non moi je n'ai pas de warning. Que dit-il ?
amicalement
Gérard
l
"Georges MAUREL" wrote:Re bonjour Gérard
Effectivement, il doit y avoir un problème au niveau du compilateur...
car
le nombre de paramètres n'est pas correct
En plus, je ne sais pas si pour vous c'est pareil, mais j'ai un warning à
la
compilation
Cordialement
Georges MAUREL
Bonjour Gérard,
En fait j'ai trouvé : en mettant un nom dans "application properties" je
n'ai plus eu de warning
Pour le problème du nombre de paramètres, je pense que vous pouvez passer un
mail sur leur support pour leur rapporter ce bug.
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de news:
16CA1999-DE2C-4AA7-BC0E-E3F806FCE066@microsoft.com...
Non moi je n'ai pas de warning. Que dit-il ?
amicalement
Gérard
l
"Georges MAUREL" wrote:
Re bonjour Gérard
Effectivement, il doit y avoir un problème au niveau du compilateur...
car
le nombre de paramètres n'est pas correct
En plus, je ne sais pas si pour vous c'est pareil, mais j'ai un warning à
la
compilation
Cordialement
Georges MAUREL
Bonjour Gérard,
En fait j'ai trouvé : en mettant un nom dans "application properties" je
n'ai plus eu de warning
Pour le problème du nombre de paramètres, je pense que vous pouvez passer un
mail sur leur support pour leur rapporter ce bug.
Cordialement
Georges
"Gege" a écrit dans le message de news:Non moi je n'ai pas de warning. Que dit-il ?
amicalement
Gérard
l
"Georges MAUREL" wrote:Re bonjour Gérard
Effectivement, il doit y avoir un problème au niveau du compilateur...
car
le nombre de paramètres n'est pas correct
En plus, je ne sais pas si pour vous c'est pareil, mais j'ai un warning à
la
compilation
Cordialement
Georges MAUREL