У меня есть маленький скрипт, который я запускаю время от времени, у него никогда не было проблем. Я на Windows 7 и использовал его здесь. Он опирается на WScript.Ракушка.
Пару дней назад я запустил его, и он вернул следующее сообщение:
---------------------------
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
---------------------------
Далее следует ошибка 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
---------------------------
Я пробовал следующее:
- Сделал чистую загрузку со всеми отключенными службами не MS. Все та же ошибка.
- Когда я пытался зарегистрировать wshom.ocx, я получаю
[Название окна]
RegSvr32[Содержание]
Модуль "C:\Windows\system32\wshom.ocx" может быть несовместим с используемой версией Windows. Проверьте, совместим ли модуль с x86 (32-разрядной) или x64 (64-разрядной) версией regsvr32.exe.[ХОРОШО]
Моя версия Windows - x86. Как узнать, с какой версией Wshom.ocx совместим?На самом деле, хотя как это может быть несовместимо, учитывая, что это было совместимо в последнее время в прошлом?
Отредактировано: добавление в скрипт:
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