Problème Script VB avec Lame.exe

Utilisateur anonyme - 28 déc. 2005 à 09:18
 Utilisateur anonyme - 28 déc. 2005 à 15:10

3 réponses

Utilisateur anonyme
28 déc. 2005 à 09:21
Bonjour, J'ai un problème avec un script qui fait appel a Lame.exe pour compresser de fichier .wav a l'intérieur d'un répertoire et de ses sous répertoires.

Le problème est qu'au moment de l'éxécution du script ça bloque au niveau du chemin source, en fait au premier "espace" il s'arrete et j'ai comme message dans ma fenetre DOS : "C:\lame393\lame.exe: excess arg Settings\MonNom\Mes"

Lorsque je change de répertoire source et que je le met sur C:\ par exemple étatn donné qu'il n'y a pas d'espace ça fonctionne très bien.

Je vous montre mon script:


Dim oShell
SrcRootPath = "C:\Documents and Settings\MonNom\Mes documents\Developpement\accounts"
DestRootPath = "Y:\accounts-dest"

Set oShell = WScript.CreateObject ("WSCript.shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(SrcRootPath)
Set colSubfolders = objFolder.Subfolders

'Encodage MP3 de tous les fichiers .wav se trouvant dans tous les sous répertoires du répertoire Src

For Each objSubfolder in colSubfolders

SrcFullPath = SrcRootPath &""& objSubfolder.Name
Set objShell = CreateObject ("Shell.Application")
Set objFolder = objShell.Namespace (SrcFullPath)

For Each objItem in objFolder.Items

Set objFile = objFSO.GetFile(SrcFullPath &""& objItem.Name)
If objFSO.GetExtensionName(objFile) ="wav" AND objFile.DateLastModified < DATE-1 Then
FileNameSrc = SrcFullPath &""& objFile.Name
FileNameDest = objSubfolder.Name &"-"& objFSO.GetBaseName(objFile) &".mp3"

oShell.Run ("cmd /K C:\lame393\lame.exe " & FileNameSrc & " " & SrcFullPath &""& FileNameDest)

End If

Next

Next



Merci pour votr aide
0
nanou1605 Messages postés 36 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 15 décembre 2006
28 déc. 2005 à 14:28
Bonjour,

Il faut que tu forces les " " lorsqu'il y as des blancs dans ton path

essaie comme cela :
...
SrcRootPath = """C:\Documents and Settings\MonNom\Mes documents\Developpement\accounts"""
...

le double "" signifie que tu veux forcer un "

Voila j'espère que ça resoudra ton problème

Seb
0
Utilisateur anonyme
28 déc. 2005 à 15:10
Merci Seb,

Le problème est résolu ;)

voila ce qu'il fallait au niveau de mon Run :

oShell.Run ("cmd /K C:\lame393\lame.exe """ & FileNameSrc & """ """ & SrcFullPath &""& FileNameDest & """")
0
Rejoignez-nous