Announcement

Collapse
No announcement yet.

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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • А как найти из коммандной строки путь к па

    Как узнать из командной строки путь к папке, в которую установлен 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?

  • #2
    Думаю, никак. Если бы dt можно было бы гарантированно найти, то игрушки этим пользовались бы, чтоб банить его.

    Comment


    • #3
      Originally Posted by oder2 View Post
      думаю, никак. если бы dt можно было бы гарантированно найти, то игрушки этим пользовались бы, чтоб банить его.
      да ну :-d
      найти его я думаю не особо сложно - процесс в памяти висит - а вот с командной строки как - хз)

      Comment


      • #4
        Originally Posted by erdos View Post
        Как узнать из командной строки путь к папке, в которую установлен 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?
        Вариант перебором подойдет ?

        Code:
        @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

        Comment


        • #5
          Originally Posted by rubord
          найти его я думаю не особо сложно - процесс в памяти висит - а вот с командной строки как - хз)
          Процесс в памяти висеть совсем не обязан. С тем же успехом можно смонтировать образ и выйти, чтоб не "светиться".
          С каталогом инсталляции та же петрушка: никто не мешает его поменять.

          Comment


          • #6
            Originally Posted by bombur View Post
            Вариант перебором подойдет ?
            В задаче путь неизвестен - а пути указаны для примера ;-)

            Originally Posted by oder2 View Post
            Процесс в памяти висеть совсем не обязан. С тем же успехом можно смонтировать образ и выйти, чтоб не "светиться".
            С каталогом инсталляции та же петрушка: никто не мешает его поменять.
            Обычно он в трее висит - в процессах соответственно то же - так что этот вариант вполне нормальный - для например автозапуска на 90% машин)
            Кроме того - есть еще меню Пуск - там можно посмотреть адрес например)

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

            Программно однозначно можно определить где ДТ, но играм для установки в бан этого мало - надо же еще "доказать" - что эмулируем диск с защитой, а не музыку с него слушаем например....
            Last edited by Rubord; 26.02.2009, 14:19.

            Comment


            • #7
              Originally Posted by Rubord View Post
              Обычно он в трее висит - в процессах соответственно то же - так что этот вариант вполне нормальный - для например автозапуска на 90% машин)
              Ты не прав и нечего отмазываться. Я нарочно буду "необычным" и у меня висеть не будет. Принято считать, что программа, которая работает в 90% случаев, вообще говоря, не работает.

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

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

              Originally Posted by Rubord View Post
              Программно однозначно можно определить где ДТ, но играм для установки в бан этого мало - надо же еще "доказать" - что эмулируем диск с защитой, а не музыку с него слушаем например....
              Знаешь, почему я не пользуюсь Alcohol и CloneCD? Потому, что некоторые игры отказываются запускаться только из-за того, что данные программы установлены на компьютере, даже если они ничего не делают и даже если они не запущены.
              Last edited by oder2; 26.02.2009, 14:41.

              Comment


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

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

                Code:
                @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%
                Может у кого лучше получится? Есть идеи?

                Comment


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

                  Comment


                  • #10
                    P.s. кстати - сейчас же как я понял есть установка дт с командной строки...
                    тогда можно так:
                    1. ищем каким то образом наличие установленного дт - в реестре же что-то должно быть
                    2. удаляем или просим удалим
                    3. скрыто устанавливаем дт куда нам надо и правим автоматом bat
                    если всё сделать в установщике - то получится как надо

                    Comment

                    Working...
                    X