Orion9

|
Posted: Sat May 16, 2026 18:19 Post subject: |
|
|
| AkulaBig wrote: | | Не работает даже сам скрипт. Код какой-то неправильный. |
Мой скрипт работает, иначе зачем бы мне его выкладывать? И работает он быстро, но с косяками, которые были озвучены там же.
Хотел уже снести это дело, но потом подумал, почему бы не проверить через cscript.exe, заодно и скорость посмотреть. Снял комментарии в options.ini
| Code: | vbs=%WINDIR%\system32\cscript.exe
vbsCmdArgs=//nologo
vbsVarFormat=filename="%s"
vbsDoubleSlashPath=0
vbsStdOutFormat=Wscript.echo %s
|
Ну что сказать. Работает. Теперь и удаление и sleep работают, но скорость значительно упала. Плюс появились кракозябры, но это, наверное, можно решить. Полный скрипт
 Hidden text | Code: | 'Option Explicit
Dim fso, argFile, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
argFile = fso.GetSpecialFolder(2) & "\exiftool_args.txt"
outFile = fso.GetSpecialFolder(2) & "\exiftool_out.txt"
'content = GetExifTag(filename, "ImageSize")
content = GetExifTag(filename, "FileName")
Function GetExifTag(fileName, tagName)
Dim stream, result
If fso.FileExists(outFile) Then fso.DeleteFile(outFile)
Set stream = fso.OpenTextFile(argFile, 8) ' 8 = Append
stream.WriteLine "-s3"
'stream.WriteLine "-" & tagName
stream.WriteLine "-W+!"
stream.WriteLine outFile
stream.WriteLine fileName
stream.WriteLine "-execute"
stream.Close
Dim timeout
timeout = 0
Do While Not fso.FileExists(outFile) And timeout < 50
WScript.Sleep(10)
timeout = timeout + 1
Loop
If fso.FileExists(outFile) Then
Set stream = fso.OpenTextFile(outFile, 1)
If Not stream.AtEndOfStream Then
result = Trim(stream.ReadAll)
Else
result = "Empty"
End If
stream.Close
GetExifTag = result
Else
GetExifTag = "Error: Timeout"
End If
End Function |
Можно, конечно, и дальше ловить рыбку в этой мутной воде, но, похоже, улов будет не тот, депрессивный. В общем, я пас. |
|