Показать полную графическую версию : Проблема с переменной %Program Files%
Здравствуйте.Имеется такой js скрипт stop.js:
var WSHShell = WScript.CreateObject("WScript.Shell");
WSHShell.Run("install.bat",0);
var WSHShell = WScript.CreateObject("WScript.Shell");
WSHShell.Run("%Program Files%\Punto Switcher\punto.exe");
myActiveXObject = new ActiveXObject("Scripting.FileSystemObject");
file = myActiveXObject.GetFile("stop.js");
file.Delete();
Знаю тут много ошибок,но в целом вот что я хочу:
Сначала запускается install.bat и после его выполнения запускается файл punto.exe (тут была проблема при выполнении скрипта пишет "Не найден файл" и это при том что он на месте).Заранее спасибо за помощь.
Anton23, укажите Вашу ОС (включая разрядность). Приведите содержимое «install.bat». Укажите взаимное расположение файлов «install.bat» и «stop.js». Укажите, как именно Вы запускаете «stop.js».
Windows 7 32-bit.Содержимое install.bat:
@echo off
md "%Program Files%\Punto Switcher"
md "%Program Files%\Punto Switcher\Data"
md "%Program Files%\Punto Switcher\User Data"
copy /y "punto.exe" "%Program Files%\Punto Switcher\punto.exe"
copy /y "diary.exe" "%Program Files%\Punto Switcher\diary.exe"
copy /y "userdata.local" "%Program Files%\Punto Switcher\userdata.local"
copy /y "diary.dll" "%Program Files%\Punto Switcher\diary.dll"
copy /y "pshook.dll" "%Program Files%\Punto Switcher\pshook.dll"
copy /y "ps.dat" "%Program Files%\Punto Switcher\Data\ps.dat"
copy /y "%Program Files%\Punto Switcher\User Data\diary.dat"
copy /y "%Program Files%\Punto Switcher\User Data\replace.dat"
copy /y "preferences.xml" "%Program Files%\Punto Switcher\User Data\preferences.xml"
copy /y "user.dic" "%Program Files%\Punto Switcher\User Data\user.dic"
del /f /q "%temp%\punto.exe"
del /f /q "%temp%\diary.exe"
del /f /q "%temp%\userdata.local"
del /f /q "%temp%\diary.dll"
del /f /q "%temp%\pshook.dll"
del /f /q "%temp%\ps.dat"
del /f /q "%temp%\diary.dat"
del /f /q "%temp%\replace.dat"
del /f /q "%temp%\preferences.xml"
del /f /q "%temp%\user.dic"
del /f /q "%temp%\stop.js"
del /f /q "%temp%\install.bat"
Файлы install.bat и stop.js и файлы Punto Switcher'a находятся в файле Setup.exe созданном при помощи 7z
Для начала попробуйте дожидаться завершения работы пакетного файла:
WSHShell.Run("install.bat", 0, true);
И не нужно дважды создавать объект, уберите второе:
var WSHShell = WScript.CreateObject("WScript.Shell");
Интересно, а что Вы пытаетесь копировать этим:
copy /y "%Program Files%\Punto Switcher\User Data\diary.dat"
copy /y "%Program Files%\Punto Switcher\User Data\replace.dat" »
Как я понимаю — пару файлов из «%Program Files%\Punto Switcher\User Data» в текущий каталог. А Вы?
Далее, почему Вы копируете из текущего каталога, а удаляете из «%TEMP%»?
Ну, и последнее — зачем Вам такая «солянка» из WSH и пакетного файла, почему не сделаете одной технологией или не воспользуетесь модифицированным модулем (http://7zsfx.info/ru/)?
Ответ прост...именно в этой области практически не разбираюсь...похожую схему встретил где то в интернете и переделал под свои нужды.При запуске exe всё копируется но вот файл сразу не запускается..ну что ж..и на этом спасибо.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.