Я использую VBS для создания командного файла для установки обновлений.Чтобы убедиться, что все работает так, как я ожидал, я создал этот небольшой тестовый скрипт, однако сгенерированные пакетные файлы при запуске выдают нераспознанный символ, независимо от того, какой это первый символ.Сценарий VBS:
option explicit
Dim objFSO, objFile, objWShell
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile("Test.bat", 2, True)
Set objWShell = CreateObject("WScript.Shell")
objFile.Write("@echo off" & vbCrLf & "echo " & chr(34) & "this is a test" & chr(34) & vbCrLf & "echo " & chr(34) & "This is only a test" & chr(34) & vbCrLf & "timeout /t 5")
Set objFile = Nothing
objWShell.Run "Test.bat"
wscript.quit
Запуск сценария создает и мгновенно закрывает окно, в котором запускается летучая мышь, но запуск сгенерированной летучей мыши из командной строки выдает, что первая передаваемая команда (в данном случае @echo off,но пробовал с другими) включает в себя дополнительный символ в начале и пропускает только этот символ (который отображается в виде сплошного квадрата, предположительно, одно окно не знает) и первый символ первой команды в пакетном файле.Таким образом, я получаю что-то похожее на 'not @ не распознанная внутренняя или внешняя команда, работающая программа или пакетный файл.'
Выбор "Показать все символы" в npp при просмотре как пакетного файла, так и генерации скрипта показываетбез лишних символов и все разрывы строк в обоих - это crlf.Есть идеи?