Пакет просто закрывается, когда я хочу записать в скрипт vbs

#batch-file

#пакетный файл

Вопрос:

Я не знаю, почему этот код не создает файл vbs… Окно пакета просто закрывается, когда я его вызываю.

Я искал в Google, как заставить его работать, но я не нашел ничего, что могло бы мне помочь.

 (echo Dim oPlayer
echo Set oPlayer = CreateObject("WMPlayer.OCX")
echo oPlayer.URL = sound.mp3
echo oPlayer.controls.play 
echo While oPlayer.playState <> 1 ' 1 = Stopped 
echo WScript.Sleep 100 
echo oPlayer.close ) > testname.vbs
pause
  

Как заставить его работать?

Комментарии:

1. Вам нужно экранировать проблемные символы, например ....OCX"^) , и State ^<^> 1 .

2. я понял это … в любом случае, спасибо.

3. Из-за вашего ответа я знаю, что вы выяснили, что некоторые символы требуют экранирования, но вы создали ответ, в котором не указано, какие символы нуждаются в этой обработке, только некоторые. Комментарий, который я сделал, показал, что закрывающая скобка также нуждается в экранировании, поэтому ваш ответ не помогает другим пользователям продвигаться вперед и, следовательно, неадекватен.

4. я сказал «как здесь: …», а не «я должен был добавить ^ здесь: …». Я понимаю, что вы говорите, мой ответ не был полным.

5. Если вы завершите его, вы можете впоследствии пометить свой собственный ответ как принятый.

Ответ №1:

Я понял это… Мне пришлось добавить несколько команд ^ at. Я изменил эти 2 команды:

 echo Set oPlayer = CreateObject("WMPlayer.OCX")
echo While oPlayer.playState <> 1
  

в

 echo Set oPlayer = CreateObject("WMPlayer.OCX"^)
echo While oPlayer.playState ^<^> 1