Рейтинг:
9
Dave Kreskowiak
Ваш пакетный файл DOS создает файл .VBS и помещает в него немного кода. Опубликуйте содержимое этого файла sound.vbs. У меня такое чувство, что часть пакетного файла написана неправильно, и она помещает в него мусорный код .Файл VBS.
Member 13985992
Часть партии-это тот бит, который я сделал... Но он сказал из моих знаний, что этот бит:
echo wscript.sleep (int(Sound.currentmedia.duration^)+1^)*1000) >sound.vbs
^
он думал, что это должен быть конец заявления, так что просто echo wscript.sleep
Dave Kreskowiak
Еще раз посмотрите в sound.vbs и опубликуйте это здесь. Нажмите на зеленую ссылку "улучшить вопрос", чтобы вернуться в Редактор и добавить код.
Я готов поспорить, что вы думаете, что в этом файле не то, что вы ожидаете.
Dave Kreskowiak
На картинке, на которую вы ссылаетесь, он жалуется на строку 2.
Кроме того, я не знаю, откуда вы взяли этот код и что вы ожидаете от него сделать.
Member 13985992
это был пост переполнения стека: https://stackoverflow.com/questions/23313709/play-invisible-music-with-batch-file
вот что они дали человеку:
@echo off
набор "файл=track12.МР3"
( echo Set Sound = CreateObject("WMPlayer.OCX.7"^)
эхолот.URL = "%file%"
эхолот.Контроля.играть
Эхо делать, пока звук.currentmedia.Продолжительность = 0
Эхо объект WScript.спать 100
Эхо-петля
echo wscript.sleep (int(Sound.currentmedia.duration^)+1^)*1000) >sound.vbs
начало /мин звука.vbs
Dave Kreskowiak
Ладно, он жалуется на линию, где вы устанавливаете звук.свойство url. Если ваш путь к файлу, установленный выше в вашем пакетном файле, имеет один набор кавычек вокруг него, это не сработает. Чтобы поместить кавычки в строку в VBScript требуется строка кода, которая будет выглядеть следующим образом:
String path = """C:\Program Files\Something"""
Две кавычки экранируются в одну кавычку в результирующей строке. В итоге вы получаете строку (с кавычками), подобную этой:
"C:\Program Files\Something"
Чтобы получить тот же эффект в вашем пакетном файле, звук.Строка URL должна выглядеть так:
echo Sound.URL = ""%file%""
Member 13985992
ОК. Я запустил код, но..... Что-то еще сломалось.
Он отлично воспроизводил звук, как я и хотел, но теперь он воспроизводит один и тот же звук только один раз. Я повторил %RAND% var, и он действительно придумывает случайные числа, но также после этого он говорит "Доступ запрещен". Никогда не получай никакого взгляда с этой штукой типа "а"... =-( (Я пробовал работать от имени администратора, но безуспешно.)
Dave Kreskowiak
Вы действительно не делаете никаких тестов, чтобы узнать, как работает этот код.
Линия SET /A в верхней части будет генерировать 6 значений: 0, 1, 2, 3, 4, и 5. Что происходит в коде вашего пакетного файла, если установлено значение 0?
Кроме того, почему вы используете пакетный файл для этого? Просто напишите код в VBScript и покончите с этим.
Member 13985992
Поскольку я не могу использовать vbscript, это мой злейший враг.
Но почему он воспроизводит тот же звук и говорит, что acsess отрицается? Кстати, у вас есть эта папка?
Dave Kreskowiak
Он говорит, что доступ запрещен, вероятно, потому, что файл все еще заблокирован с предыдущего воспроизведения, которое еще не сделано.
Странно, что вы говорите, что VBScript-ваш злейший враг, но именно пакетный файл вызывает все ваши проблемы.