URGENT - AVANT 13h... Executer une commande dos avec un paramétre

Résolu
neocam Messages postés 52 Date d'inscription mercredi 28 juin 2006 Statut Membre Dernière intervention 1 mars 2010 - 10 févr. 2009 à 10:19
neocam Messages postés 52 Date d'inscription mercredi 28 juin 2006 Statut Membre Dernière intervention 1 mars 2010 - 10 févr. 2009 à 11:25
Bonjour a tous,
Pour etre bref, mon but:
Je parcours un dossier contenant des pdf et j'exécute la commande "pdftotext nomfic" pour chaque fichier afin de créer le txt correspondant au pdf.
(nb:Evidement pdftotext est une commande a télécharger)

PS: Je n'ais besoin de récupérer que la première ligne du fichier text créer...

question commant executer la commande avec le paramétre du nom du fichier.

c'est extrémement urgent ne me renvoyer pas sur le forum je fait que ca, en gros passé 13h le poste pourra être passer en délestage (désolé ma réunion été ce matin)

Mon code:
Option Explicit
dim Contenu,FSys,MonFic,Msg,comm,strfile,x,Source,Destination
dim ofolder,vbHide,Shell

comm="pdftotext "
Source = "C:\Temp"
Destination = "C:\Temp"


'Declaration permettant entre autre de charger le fichier à lire
Set FSys = CreateObject("Scripting.FileSystemObject")
'Declaration des objet d'application permettant entre autre de charger le contenu d'un repertoir.
'Set oApp = CreateObject("Shell.Application")
Set oFolder = FSys.GetFolder(Source)



for each strFile in oFolder.Files
Set MonFic = FSys.OpenTextFile(strFile, 1)
x = Shell(comm & strFile, vbHide)
Contenu = strFile.ReadLine
next

9 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
10 févr. 2009 à 11:20
on délimite une chaine avec des guillemets
pour placer une guillements dans une chaine, faut la doubler...

Bonjour "l'ami", tu vas ?
se note:
"Bonjour ""l'ami"", tu vas ?"

tout bêtement.

for each strFile in oFolder.Files
oShell.run "pdftoText ""C:\Temp" & strFile.name & """"
next

ce qui donnera bien, par exemple

pdftoText "C:\Temp\fichier.pdf"
3
neocam Messages postés 52 Date d'inscription mercredi 28 juin 2006 Statut Membre Dernière intervention 1 mars 2010
10 févr. 2009 à 10:40
Apres des recherche sur google me renvoyant ici :s
Je n'arrive pas a passer le paramètre pdftotext nom de fichier ....
Apres il me restera a purger tout le contenu du fichier txt creer sauf la premiere ligne...

Voila mon nouveau code:
Option Explicit
dim Contenu,FSys,MonFic,Msg,comm,strfile,x,Source,Destination
dim ofolder,oShell

comm="pdftotext "
Source = "C:\Temp"
Destination = "C:\maSauvegarde.zip"

'Declaration du shell utile pour lancer une commande dos
Set oShell=createObject ("WScript.Shell" )
'Declaration permettant entre autre de charger le fichier à lire
Set FSys = CreateObject("Scripting.FileSystemObject")
'Declaration des objet d'application permettant entre autre de charger le contenu d'un repertoir.
'Set oApp = CreateObject("Shell.Application")
Set oFolder = FSys.GetFolder(Source)



for each strFile in oFolder.Files
Set MonFic = FSys.OpenTextFile(strFile, 1)
oShell.run comm & each.name
'Contenu = strFile.ReadLine
next
0
neocam Messages postés 52 Date d'inscription mercredi 28 juin 2006 Statut Membre Dernière intervention 1 mars 2010
10 févr. 2009 à 10:47
Excuser moi mauvais copié coller je remarque....

for each strFile in oFolder.Files
'Set MonFic = FSys.OpenTextFile(strFile, 1)
oShell.run comm & strFile.name
next
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
10 févr. 2009 à 10:58
..... y'a rien a faire, normallement

juste a bien placer les guillemets autour du nom des fichiers.

Shell "C:\applications\pdftoText.exe ""C:\Temp\In.pdf"" ""C:\Temp\Out.txt"""

ou, avec des variables

Shell "C:\applications\pdftoText.exe """ & sIN & """ """ & sOUT & """"
0

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

Posez votre question
neocam Messages postés 52 Date d'inscription mercredi 28 juin 2006 Statut Membre Dernière intervention 1 mars 2010
10 févr. 2009 à 11:02
Voila mon nouveau code.
Ca tourne sans probléme mais les fichier ne se créer pas...
Merci Renfield j'execute ca sur le champ car ca a l'aire de répondre a ma demande .
Sinon pour ce qui cherche j'ai rajouter command /c dans la variable contenant ma commande dos.


Option Explicit
dim Contenu,FSys,MonFic,Msg,comm,strfile,x,Source,Destination
dim ofolder,oShell

comm="command /c pdftotext "
Source = "C:\Temp"
Destination = "C:\maSauvegarde.zip"

'Declaration du shell utile pour lancer une commande dos
Set oShell=createObject ("WScript.Shell" )
'Declaration permettant entre autre de charger le fichier à lire
Set FSys = CreateObject("Scripting.FileSystemObject")
'Declaration des objet d'application permettant entre autre de charger le contenu d'un repertoir.
'Set oApp = CreateObject("Shell.Application")
Set oFolder = FSys.GetFolder(Source)



for each strFile in oFolder.Files
'Set MonFic = FSys.OpenTextFile(strFile, 1)

oShell.CurrentDirectory = Source
oShell.run comm & strFile.name

'wscript.echo strFile.name
'Contenu = strFile.ReadLine
next
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
10 févr. 2009 à 11:11
pourquoi ajouter command.exe ?
0
neocam Messages postés 52 Date d'inscription mercredi 28 juin 2006 Statut Membre Dernière intervention 1 mars 2010
10 févr. 2009 à 11:14
Renfield > Dur dur à placer les guillemets tu peux pas m'aider?

Je n'ai pas besoin d'avoir une sortie avec l'utilisation que j'ai de pdftotext je doit l'utiliser comme ca:

pdftotext nomfic.pdf

lui me crée un txt avec seulement la première page du fichier pdf, et vu que je n'ais besoin que de la première ligne, je dois ensuite purger le contenu du fichier txt...

J'ai mis ma commande dans une variable :
comm="command /c pdftotext "
Ensuite dans une boucle qui parcourt le dossier:

for each strFile in oFolder.Files
oShell.run comm "& strFile.name &"
oShell "C:\WINDOWS\pdftoText.exe ""C:\Temp" "&strFile.name&"" "
'Bon je retire tout mes autres tests ... je comprend pas le principe faut fermer 'les guillemets avec des guillemet?? je sais pas peut etre la pression qui me 'fait réfléchir a l'envers :s
next
0
neocam Messages postés 52 Date d'inscription mercredi 28 juin 2006 Statut Membre Dernière intervention 1 mars 2010
10 févr. 2009 à 11:19
Alors ca je sais pas mais tous ce que je peux dire c'est que je l'ai retrouver dans le forum et ca me retiré des erreurs...
0
neocam Messages postés 52 Date d'inscription mercredi 28 juin 2006 Statut Membre Dernière intervention 1 mars 2010
10 févr. 2009 à 11:25
Merci beacoup, c'est vraiment sympa ^^
=====> You are my rescuer ^^
c'est marrant j'avais l'impression d'avoir compris ca ... c'est la pression qui fait cette effet je crois...

Me reste plus qu'a lire uniquement la première ligne des fichiers txt... enfin réécrire ces fichier en ne conservant que la première ligne...
0
Rejoignez-nous