このvbscriptの出力テキストファイルをUnicodeではなくANSIとして保存しようとしています。vsscript出力をansiエラーとして保存する
これは簡略化されたスクリプトです:私が変更した場合は
Option Explicit
dim fso, obs, fol, spl, files, objFile, arr, file, ext, ex
Set fso = CreateObject("scripting.filesystemobject")
Set obs = CreateObject("shell.application")
Set fol = fso.GetFolder(".")
Set spl = obs.NameSpace(fol.Path)
Set files = fol.Files
set objFile = fso.openTextFile("test.txt" ,2 , true, false)
arr = Array("mp4")
For Each file In files
ext = fso.GetExtensionName(file.Name)
For Each ex In arr
If StrComp(ext,ex,1)=0 Then
objFile.writeline fol.Path & "\" & spl.GetDetailsOf(spl.ParseName(file.Name),0) & vbcrlf & spl.GetDetailsOf(spl.ParseName(file.Name),27) & vbcrlf & spl.GetDetailsOf(spl.ParseName(file.Name),28)
End If
Next
Next
objFile.Close
:
set objFile = fso.openTextFile("test.txt" ,2 , true, false)
へ:
set objFile = fso.openTextFile("test.txt" ,2 , true, true)
スクリプトは動作しますが、Unicodeとして出力を保存します。私がfalseを保持すると、スクリプトは私に無効なプロシージャコールまたは引数を与えます。 これは、エラーの原因となっている部分である。
spl.GetDetailsOf(spl.ParseName(file.Name),28)
は、私は他の拡張プロパティの負荷を試してみましたが、それらはすべてANSIとして正常に動作。それは私に問題を与えているこのようなものです。私は別のファイルの負荷を試して、結果は同じです。私はこれを残念ながら修正するのに十分ではないので、私はどんな助けでも非常に喜ばれるでしょう。
書いている(WriteLine)の詳細(GetDetailsOf)にUnicode値が含まれていませんか? –
私はWindows以外ではうまくいきませんでした。(28)Windows 7ではBit Rateです。私がUnicodeで得た結果は、例として191kbpsです。出力ファイルをANSIに手動で変更すると、Unicode文字が含まれています。出力ファイルからビットレートラインを削除しようとしましたが、それでも同じことが言います。私は今数時間試しています。私は他に何を試していいのかわかりません。 –