Her seferinde yayınladığım küçük bir senaryo var ve daha sonra hiçbir problem yaşamadım. Windows 7'deyim ve burada da kullandım. WScript.Shell'e dayanır.
Birkaç gün önce koştum ve aşağıdaki mesajı geri verdi:
---------------------------
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 hatası izledi:
---------------------------
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
---------------------------
Aşağıdakileri denedim:
- MS dışı tüm servisler kapalıyken temiz bir önyükleme yaptınız. Hala aynı hata.
- Wshom.ocx dosyasını kaydetmeye çalıştığımda
[Pencere Başlığı]
RegSvr32[Content]
"C: \ Windows \ system32 \ wshom.ocx" modülü, çalıştırmakta olduğunuz Windows sürümüyle uyumlu olmayabilir. Modülün regsvr32.exe'nin x86 (32 bit) veya x64 (64 bit) sürümüyle uyumlu olup olmadığını kontrol edin.[TAMAM]
Windows sürümüm x86 - Wshom.ocx sürümünün hangi sürümle uyumlu olduğunu nasıl görebilirim? Aslında geçmişte uyumlu olduğu göz önüne alındığında nasıl uyumsuz olabilir?
Düzenlendi: komut dosyasına ekleme:
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