[Quote]

    dem0n43
  • 556
  • Longevity: 9 years 8 months
  • Posts: 65
  • REPUTATION:2

    [+] [-]
  • Location: ИзЗАДА
vovan19822, aa все заработало ay
Сначала тупил потом сделал так

Efix.cmd

echo off
cd /d "%~dp0"
:: Проверяем наличие ImDisk'а и если его нет, то устанавливаем
ECHO.
ECHO Проверяем наличие ImDisk и если его нет, то устанавливаем
if not exist %WINDIR%\System32\imdisk.exe call install.cmd
ECHO Монтируем ImDisk'ом созданный IMG на диск U:
start /w imdisk.exe -a -m U: -f MInstAll.iso -p "/fs:fat32 /q /y"
CLS
U:
start MInst.exe
exit
Дальше надо чтоб сканил процесс MInst.exe если его нет то размонтировал и удалял imdisk ap

[Quote]

    vovan1982
  • 214
  • Longevity: 9 years
  • Posts: 1132
  • REPUTATION:77

    [+] [-]
  • Location: Ростов-на-Дону
dem0n43, так используй TASKKILL для убийства MInst.exe

[Quote]

    Joker-2013
  • 1039
  • Longevity: 9 years 5 months
  • Posts: 2053
  • REPUTATION:120

    [+] [-]
  • Location: из прошлого
dem0n43, vovan19822, Зачем его убивать то????
Запуск с ожиданием завершения процесса и размонтирование образа.
Но...Не факт что образ размонтируется.
И этому может быть куча причин.
Запущенное приложение из сборки софта, зарегистрированная dll, да много всего, что может помешать...
Но! Не все так плохо. Можно использовать замечательную утилиту от zxen
http://usbtor.ru/viewtopic.php?t=633
как то так:
@ echo off
cd /d "%~dp0"
if not exist %WINDIR%\System32\imdisk.exe call install.cmd
start /w imdisk.exe -a -m U: -f MInstAll.iso -p "/fs:fat32 /q /y"
U:\MInst.exe
dskunlock.exe -l=U: -s=1
imdisk -D -m U:
exit
Код не рабочий, нужно пути к файлам в порядок привести...
Опять же ... х64 в ней проверка будет неверной...

WinNTSetup_iso.cmd

@echo off
IF %1!==! (
echo.
echo  WinNTSetup ISO file support
echo.
echo  this batch will be executed to mount an ISO file
echo  right-click on the "source button" and select an ISO file
echo  path of the ISO will be saved inside %1
echo.
echo  sample for "ImDisk Virtual Disk Driver"
echo  http://www.ltr-data.se/opencode.html/#ImDisk
echo.
echo  silent install: imdiskinst -y
echo  mount command : imdisk -a -m #: -f %1
echo.
pause
goto :EOF
)
imdisk -a -m #: -f %1


Last edited by Joker-2013 on 2016-09-24 22:34; edited 2 times in total

[Quote]

    vovan1982
  • 214
  • Longevity: 9 years
  • Posts: 1132
  • REPUTATION:77

    [+] [-]
  • Location: Ростов-на-Дону
Joker-2013, спасибо. Что-то я забыл про неё. И у ImDisk'а есть ключь принудительного размонтировая -d (маленькая дэ).

[Quote]

    nikzzzz
  • 215
  • Longevity: 9 years
  • Posts: 3114
  • REPUTATION:127

    [+] [-]
29095
ECHO Проверяем наличие ImDisk и если его нет, то устанавливаем
if not exist %WINDIR%\System32\imdisk.exe call install.cmd
Не корректно, imdisk.exe может и быть, а вот служба не запущена, лучше проверять саму службу.
@ echo off
cd /d "%~dp0"
:: Проверяем наличие ImDisk'а и если его нет, то устанавливаем
net start | find /i "imdisk" || call install.cmd
:: Монтируем ImDisk'ом созданный ISO на свободную букву
for /f "usebackq tokens=3,4 delims=: " %%a in (`imdisk.exe -a -m #: -f "MInstAll.iso" ^| find /i "Created device"`) do (
set unit=%%a
set drive=%%b
)
if "drive"=="" goto _err
start %drive%:\MInst.exe
:: Ждем завершения MInst.exe
:_1
ping -n 2 localhost > nul
tasklist /fi "imagename eq MInst.exe" | find /i " pid " || goto _2
goto _1
:_2
:: размонтирование и удаление imdisk
imdisk.exe -D -u %unit%
call uninstall.cmd
exit
:_err
echo Ошибка
pause
exit


Last edited by nikzzzz on 2016-09-25 02:15; edited 1 time in total

[Quote]

    nikzzzz
  • 215
  • Longevity: 9 years
  • Posts: 3114
  • REPUTATION:127

    [+] [-]
Поправил предыдущий пост, более корректное монтирование на первую свободную букву.
29102И у ImDisk'а есть ключь принудительного размонтировая -d (маленькая дэ).
По описанию -D (большая дэ)

[Quote]

    vovan1982
  • 214
  • Longevity: 9 years
  • Posts: 1132
  • REPUTATION:77

    [+] [-]
  • Location: Ростов-на-Дону
nikzzzz, спасибо. Просто давно уже параметры не смотрел. Спасибо за коррекцию. Joker-2013, извиняюсь, за свою ошибку. У тебя все правильно.

[Quote]

    nikzzzz
  • 215
  • Longevity: 9 years
  • Posts: 3114
  • REPUTATION:127

    [+] [-]
Linux подобный вариант, мне он больше всего нравится, "а зачем вообще нужны буквы дисков ?" ad
@echo off
cd /d "%~dp0"
:: Проверяем наличие ImDisk'а и если его нет, то устанавливаем
net start | find /i "imdisk" || call install.cmd
:: Монтируем ImDisk'ом созданный ISO в папку "%temp%\$MInst$"
1>nul 2>&1 rd /s /q "%temp%\$MInst$"
md "%temp%\$MInst$"
for /f "usebackq tokens=3 delims=: " %%a in (`imdisk.exe -a -m "%temp%\$MInst$" -f "MInstAll.iso" ^| find /i "Created device"`) do set unit=%%a
if "unit"=="" goto _err
start "MInst" /d "%temp%\$MInst$" "%temp%\$MInst$\MInst.exe"
:: Ждем завершения MInst.exe
:_1
:: Пауза в 5 сек
ping -n 6 localhost > nul
tasklist /fi "imagename eq MInst.exe" | find /i " pid " && goto _1
:: размонтирование и удаление imdisk
imdisk.exe -D -u %unit%
rd /s /q "%temp%\$MInst$"
call uninstall.cmd
exit
:_err
echo Ошибка
pause
exit
Код не проверялся, возможны ошибки.

[Quote]

    dem0n43
  • 556
  • Longevity: 9 years 8 months
  • Posts: 65
  • REPUTATION:2

    [+] [-]
  • Location: ИзЗАДА
29117Linux подобный вариант
Работает ay
29100как то так:

работает

@ echo off
cd /d "%~dp0"
if not exist %WINDIR%\System32\imdisk.exe call install.cmd
start /w imdisk.exe -a -m U: -f MInstAll.iso -p "/fs:fat32 /q /y"
U:\MInst.exe
dskunlock.exe -l=U: -s=1
imdisk -D -m U:
exit
ay
Все запускал на 10х64 из папки MInstAll
А теперь вопрос можно ли запустиь файл без названия только по расширению то есть .iso

[Quote]

    Joker-2013
  • 1039
  • Longevity: 9 years 5 months
  • Posts: 2053
  • REPUTATION:120

    [+] [-]
  • Location: из прошлого
dem0n43, ну если imdisk.exe разрешит... *.iso

[Quote]

    dem0n43
  • 556
  • Longevity: 9 years 8 months
  • Posts: 65
  • REPUTATION:2

    [+] [-]
  • Location: ИзЗАДА
29131*.iso
Не пашет ai
Joker-2013, какой параметр нужен в 7zSFX Constructor v1.9.8. чтоб извлечь файлы в ту папку из которой запущен exe ac
тест

[Quote]

    Joker-2013
  • 1039
  • Longevity: 9 years 5 months
  • Posts: 2053
  • REPUTATION:120

    [+] [-]
  • Location: из прошлого
%%s

[Quote]

    nikzzzz
  • 215
  • Longevity: 9 years
  • Posts: 3114
  • REPUTATION:127

    [+] [-]
29125А теперь вопрос можно ли запустиь файл без названия только по расширению то есть .iso
:: Поиск *.iso файлов, %filename% - полный путь к найденноиу файлу
for /f "delims=" %%a in ('2^>nul dir /b /a:-d *.iso') do set filename=%%~fa
if "%filename%"=="" goto _err

[Quote]

    dem0n43
  • 556
  • Longevity: 9 years 8 months
  • Posts: 65
  • REPUTATION:2

    [+] [-]
  • Location: ИзЗАДА
nikzzzz, КАК применить

">

Efix.cmd

@ echo off
cd /d "%~dp0"
net start | find /i "imdisk" || call install.cmd
start /w imdisk.exe -a -m U: -f MInstAll.iso -p "/fs:fat32 /q /y"
U:\MInst.exe
dskunlock.exe -l=U: -s=1
imdisk -D -m U:
exit

[Quote]

    nikzzzz
  • 215
  • Longevity: 9 years
  • Posts: 3114
  • REPUTATION:127

    [+] [-]
dem0n43,
@echo off
cd /d "%~dp0"
net start | find /i "imdisk" || call install.cmd
:: Поиск *.iso файлов, %filename% - полный путь к найденноиу файлу
for /f "delims=" %%a in ('2^>nul dir /b /a:-d *.iso') do set filename=%%~fa
if "%filename%"=="" goto _err
imdisk.exe -a -m U: -f "%filename%"
U:\MInst.exe
dskunlock.exe -l=U: -s=1
imdisk -D -m U:
exit
:_err
echo Ошибка
pause
exit
И зачем форматировать .iso ? ( imdisk.exe -a -m U: -f MInstAll.iso -p "/fs:fat32 /q /y") ag ag ag

Page 3 of 5


Display posts:    

Current time is: 06-Dec 01:05

All times are UTC + 3


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum