wscript.exe - Kötü Resim


2

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

Bryan, Bazı sorular - başka bir Windows bilgisayarda denedin mi? Lütfen okuyacağımız senaryoyu verebilir misiniz? bu hatayı yazdığınız diğer betikler ile mi alıyorsunuz? Bu 32bit veya 64bit pencereler mi? Bu bilgisayardaki izinlerde bir değişiklik oldu mu, şimdi olduğu gibi, Yerel Yönetici değil misiniz? bu betiği başka bir bilgisayardan kopyaladınız mı? Teşekkürler.
Steve Rathbone

Evet diğer Windows bilgisayarlarda çalışıyor, birkaç yıldan beri birkaç bilgisayarda kullandım. Bilgisayarda WScript kullanabilirim, ancak bir WScript.Shell'i başlatamıyorum. Yerel yönetici değilim, ancak komut dosyasını yükseltilmiş izinlerle çalıştırdım ve sorunum olmadı. Ayrıca bu bilgisayarda en az yarım yıl boyunca sorunsuz bir şekilde kullandım.
Bryan Rasmussen,

Daha önce hiçbir şey yapmayan bir komut dosyasını denedim, ancak WScript.Shell'i başlatıp bir yarasa dosyası çağır. Aynı hatayı.
Bryan Rasmussen

Üzgünüm, komut dosyası yükseltilmiş izinlere sahip olduğumu ve hiçbir sorunum olmadığını söylediğimde aslında, komut dosyasını yükseltilmiş izinlerle çalıştırdığımda aynı hatayı alıyorum.
Bryan Rasmussen,

Yanıtlar:


0

Bryan, kaçarsan ne olur?

    Dim WshShell
    Set WshShell = WScript.CreateObject("WScript.Shell")

    If Err <> 0 Then
    Wscript.Echo Err.Number & " -- " &  Err.Description
    Err.Clear
    End If

Teşekkürler.


Daha önce olduğu gibi, Önce wscript bozuk görüntü mesajı, ardından "WScript.Shell" adlı nesne oluşturulamadığını belirten bir wscript hatası. 2 numaralı hatta hata ile
Bryan Rasmussen

Komut dosyasını cscript kullanarak çalıştırdığımda, cscript.exe için açılan kötü görüntü mesaj kutusunu alıyorum ve ardından konsol penceresinde aşağıdakileri alıyorum: c: \ tools> cscript.exe wscriptcheck.vbs Microsoft (R) Windows Komut Dosyası Sistemi Sürüm 5.8 Telif Hakkı (C) Microsoft Corporation. Tüm hakları Saklıdır. c: \ tools \ wscriptcheck.vbs (2, 5) WScript.CreateObject: "WScript.Shell" ile bir nesne oluşturulamadı. c: \ tools>
Bryan Rasmussen

Aşağıdakileri denediysem: 'try {var WshShell = new ActiveXObject ("WScript.Shell"); } catch (err) {((err içindeki değişken)) {WScript.Echo (err [e]); }} 'Aşağıdaki mesajı alıyorum: Hata -2147024703
Bryan Rasmussen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.