Bryan, o que acontece se você correr:
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
If Err <> 0 Then
Wscript.Echo Err.Number & " -- " & Err.Description
Err.Clear
End If
Obrigado.
Eu tenho um pequeno script que eu executo de vez em quando, nunca tive nenhum problema. Eu estou no Windows 7 e usei aqui também. Ele se baseia no WScript.Shell.
Alguns dias atrás eu corri e ele retornou a seguinte mensagem:
---------------------------
wscript.exe - Bad Image
---------------------------
C:\Windows\system32\wshom.ocx is either not designed to run on Windows
or it contains an error. Try installing the program again using the original
installation media or contact your system administrator or the software vendor
for support.
---------------------------
OK
---------------------------
Seguido pelo erro do WScript:
---------------------------
Windows Script Host
---------------------------
Script: C:\tools\videoconverter.vbs
Line: 9
Char: 1
Error: Could not create object named "WScript.Shell".
Code: 800700C1
Source: WScript.CreateObject
---------------------------
OK
---------------------------
Eu tentei o seguinte:
[Window Title]
RegSvr32[Content]
The module "C:\Windows\system32\wshom.ocx" may not compatible with the version of Windows that you're running. Check if the module is compatible with an x86 (32-bit) or x64 (64-bit) version of regsvr32.exe.[OK]
Minha versão do windows é x86 - como eu vejo com qual versão o Wshom.ocx é compatível? Na verdade, como ele pode ser incompatível, já que era compatível em algum momento recente no passado?
Editado: adicionando o script:
infolder = "c:\tools\music_input"
outfolder = "c:\tools\music_output"
Dim objFSO
Dim ofolder
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("scripting.filesystemobject")
Dim objCurrentFolder
Set objCurrentFolder = objFSO.getfolder(infolder)
Dim tempval
Dim nFile
For Each file In objCurrentFolder.Files
nFile = outfolder & "\" & file.Name & ".mp3"
If objFSO.FileExists(nFile) Then
Else
tempval = "c:\tools\ffmpeg\bin\ffmpeg.exe -i " & chr(34) & file & chr(34) & " " &
chr(34) & nFile & chr(34)
WshShell.Run tempval
WScript.Sleep 15000
End If
Next
Bryan, o que acontece se você correr:
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
If Err <> 0 Then
Wscript.Echo Err.Number & " -- " & Err.Description
Err.Clear
End If
Obrigado.