PDA

View Full Version : А как найти из коммандной строки путь к па



erdos
24.02.2009, 23:27
Как узнать из командной строки путь к папке, в которую установлен Daemon Tools?

Например путь к папке может быть:
C:\Program Files (x86)\DAEMON Tools Lite\
C:\Program Files\DAEMON Tools\
C:\Program Files (x86)\DAEMON Tools Lite\
C:\Program Files\DAEMON Tools\
X:\Program Files (x86)\DAEMON Tools Lite\
X:\Program Files\DAEMON Tools\
X:\Program Files (x86)\DAEMON Tools Lite\
X:\Program Files\DAEMON Tools\

А как найти правильный путь к папке с DT?

oder2
25.02.2009, 11:25
Думаю, никак. Если бы dt можно было бы гарантированно найти, то игрушки этим пользовались бы, чтоб банить его.

Rubord
26.02.2009, 05:44
думаю, никак. если бы dt можно было бы гарантированно найти, то игрушки этим пользовались бы, чтоб банить его.

да ну :-d
найти его я думаю не особо сложно - процесс в памяти висит - а вот с командной строки как - хз)

bombur
26.02.2009, 10:07
Как узнать из командной строки путь к папке, в которую установлен Daemon Tools?

Например путь к папке может быть:
C:\Program Files (x86)\DAEMON Tools Lite\
C:\Program Files\DAEMON Tools\
C:\Program Files (x86)\DAEMON Tools Lite\
C:\Program Files\DAEMON Tools\
X:\Program Files (x86)\DAEMON Tools Lite\
X:\Program Files\DAEMON Tools\
X:\Program Files (x86)\DAEMON Tools Lite\
X:\Program Files\DAEMON Tools\

А как найти правильный путь к папке с DT?

Вариант перебором подойдет ?


@echo off

if exist "%ProgramFiles%\DAEMON Tools Pro" goto DTPro
:ret1
if exist "%ProgramFiles%\DAEMON Tools Lite" goto DTLt
:ret2
if exist "%ProgramFiles%\DAEMON Tools" goto DT
:ret3

goto end

:DTPro
echo Found DT Pro!
goto ret1

:DTLt
echo Found DT Lite!
goto ret2

:DT
echo Found old DT Lite!
goto ret3

:end

oder2
26.02.2009, 10:14
найти его я думаю не особо сложно - процесс в памяти висит - а вот с командной строки как - хз)

Процесс в памяти висеть совсем не обязан. С тем же успехом можно смонтировать образ и выйти, чтоб не "светиться".
С каталогом инсталляции та же петрушка: никто не мешает его поменять.

Rubord
26.02.2009, 14:09
Вариант перебором подойдет ?

В задаче путь неизвестен - а пути указаны для примера ;-)


Процесс в памяти висеть совсем не обязан. С тем же успехом можно смонтировать образ и выйти, чтоб не "светиться".
С каталогом инсталляции та же петрушка: никто не мешает его поменять.

Обычно он в трее висит - в процессах соответственно то же - так что этот вариант вполне нормальный - для например автозапуска на 90% машин)
Кроме того - есть еще меню Пуск - там можно посмотреть адрес например)

Конечно - если заморочится что ДТ максимально скрыт самим юзером - то тут думаю тоже есть решение...
в крайнем случае можно найти daemon.exe - обычно на компе он 1)

Программно однозначно можно определить где ДТ, но играм для установки в бан этого мало - надо же еще "доказать" - что эмулируем диск с защитой, а не музыку с него слушаем например....

oder2
26.02.2009, 14:37
Обычно он в трее висит - в процессах соответственно то же - так что этот вариант вполне нормальный - для например автозапуска на 90% машин)
Ты не прав и нечего отмазываться. Я нарочно буду "необычным" и у меня висеть не будет. Принято считать, что программа, которая работает в 90% случаев, вообще говоря, не работает.


Кроме того - есть еще меню Пуск - там можно посмотреть адрес например)
Тоже опционально и убирается при инсталляции.


Конечно - если заморочится что ДТ максимально скрыт самим юзером - то тут думаю тоже есть решение...
в крайнем случае можно найти daemon.exe - обычно на компе он 1)
Не такая уж и простая это задача - найти файл на компе. Сейчас винты бывают ну о-о-о-очень большие и не каждому пользователю понравится, когда некая программа пойдет искать неизвестно что по всему диску. Кроме того, не уверен осведомлен ли ты, но найти файл на диске - не такая уж и тривиальная задача и далеко не каждый студент её сможет корректно сделать. Есть столько подвохов, связанных с правами доступа, спрятанными именами, символическими ссылками, длинами пути, больше максимально допустимого, юникодовскими символами...


Программно однозначно можно определить где ДТ, но играм для установки в бан этого мало - надо же еще "доказать" - что эмулируем диск с защитой, а не музыку с него слушаем например....
Знаешь, почему я не пользуюсь Alcohol и CloneCD? Потому, что некоторые игры отказываются запускаться только из-за того, что данные программы установлены на компьютере, даже если они ничего не делают и даже если они не запущены.

erdos
27.02.2009, 09:42
Вообще-то мне нужно было знать путь к папке с DT для благих целей... Я хотел сделать лаунчер игры работающий на любом компьютере (где установлен DT и YASU).

Вот что у меня получилось:



@ECHO OFF
ECHO Universal launcher for Windows 2000/XP/Vista

ECHO
ECHO Current directory must be root for exe file and image file
SET GAME_PATH=%CD%
SET EXE=DevilMayCry4_DX9.exe
SET IMAGE=Devil May Cry 4 Punkk.mds

ECHO
ECHO Search path to 32 bit "Program files" directory...
IF DEFINED ProgramFiles(x86) GOTO end
SET ProgramFiles(x86)=%ProgramFiles%
:end
ECHO 32 bit "Program files" directory is located in "%ProgramFiles(x86)%"

ECHO
ECHO Search path to Daemon Tools...
cd /D %ProgramFiles(x86)%
FOR /d %%i IN (*Daemon*) DO SET DAEMON_PATH=%%i
FOR /d %%i IN (*Daemon Tools*) DO SET DAEMON_PATH=%%i
ECHO Daemon Tools is located in "%DAEMON_PATH%"

ECHO
CD /D "%DAEMON_PATH%"
ECHO Mounting image "%GAME_PATH%\%IMAGE%"...
daemon.exe -mount 0, "%GAME_PATH%\%IMAGE%"
ECHO Starting YASU in silent mode with cloacking...
START YASU.exe -s -c
ECHO Wait 7 seconds for YASU initialization...
ping 127.0.0.1 -n 8 > nul

ECHO
ECHO Starting %EXE%...
START /D "%GAME_PATH%" %EXE%


Может у кого лучше получится? Есть идеи?

Rubord
01.03.2009, 14:15
Как видим выше - 90% устроило бы как нефиг петь :)
Я что сказал что просто найти DT? Я сказал, что это возможно и описал пути краткие - какие пришли в голову - в реализации всякое бывает - но уверен что решение бы нашлось - только зачен оно надо... - для благих целей :D шутник блин - таких батников и exe на пиратских дисках как грязи - возьму оттуда - там реализация поиска ДТ попадает неплохая :)

Rubord
01.03.2009, 14:19
P.s. кстати - сейчас же как я понял есть установка дт с командной строки...
тогда можно так:
1. ищем каким то образом наличие установленного дт - в реестре же что-то должно быть :)
2. удаляем или просим удалим
3. скрыто устанавливаем дт куда нам надо и правим автоматом bat
если всё сделать в установщике - то получится как надо :)