Bonjour tout le monde,

Je viens pour un script Shell, mais comme je l'appelle depuis un VBS, peut-être que ce sera la bonne adresse ici ; j'ai lâché les scripts quelque temps, je ne me rappelle plus où est le bon forum.

J'ai une commande qui appelle un programme, avec un argument, et une redirection de sortie vers un fichier.

J'ai essayé
et ça ne donne rien. Si, une fenêtre qui vient faire un clin d'œil, mais rien dans le fichier de sortie.

J'ai écrit la commande dans un batch, que j'ai appelé depuis mon script, et là ça marche.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Set oShell = CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
strCmd = "sfkx64 fromclip > test.txt"
Set NewFichier = objFSO.CreateTextFile("cmdtest.bat", true)
NewFichier.WriteLine(strCmd)
NewFichier.Close
oShell.Run(strCmd) 'résultat que dalle
oShell.Run("cmdTest.bat") 'le contenu du presse-papier va dans le fichier test.txt
J'ai un peu simplifié, la commande donne le chemin vers l'outil, du coup il y a des guillemets autour, et pour le fichier cible je donne le chemin aussi (mais là je n'ai pas mis de guillemets, il n'y a pas d'espace dans le chemin).
De toute manière, c'est la même commande que j'essaie d'exécuter directement depuis le script, puis que j'écris dans un batch pour exécuter le batch.

Ça marche via le batch, mais pas en direct, et ça m'intrigue.