loban_ser
- Longevity: 6 years 8 months
- Posts: 577
- REPUTATION:24[+] [-]
|
goga8686,@Echo OFF set n=\SANDISK for %%I in (C D E F G H I J K L M N O P Q R S T U V W) do @dir %%I:%n% >nul 2>nul&&set DrvLett=%%I ( echo.[Config] echo.ext=.shl echo.BackFile=%%temp%%\PsMgr.bck echo.Idx=PsMgrCache.idx echo.[Path] echo.Drives=[Boot=%DrvLett%][Removable=%DrvLett%][Fixed=%DrvLett%]:\XMPE\Programs )>%DrvLett%:\XMPE\PsMgr.ini start "" /b %windir%\System32\au3381.exe %windir%\PsMgr.a3x Exit /B Разберетесь, что нужно свое подставить? Ну и можно ярлык вывести куда угодно
|
Отправлено: 28-Oct-2019 16:17
(after 1 hour 58 minutes)
wadimus
- Longevity: 7 years 10 months
- Posts: 749
- REPUTATION:91[+] [-]
|
на любом диске создаю папку SANDISK в корне диска (на системном С) и что? как я понял, нужно имя диска, на котором был запущен наш батник (и на котором он находится)? таки так:for %%a in ("%~dp0") do set DrvLett=%%~da в переменной DrvLett будет имя диска с символом : (C: или D:) - там, где мы сохранили наш батник (не важно где, где-то там в глубине папок)
|
wadimus
- Longevity: 7 years 10 months
- Posts: 749
- REPUTATION:91[+] [-]
|
loban_ser начало работы вашего батника: - есть некая папка как метка (set n=\Flesh) - папка или файл Flesh - эта папка находится в корне(!) диска (%%I:%n%) то есть в C:\Flesh или D:\Flesh .. - проверяем существование этой метки, пытаясь диркнуть все существующие пути по переменной - первая попавшаяся метка ловится и выполняется заполнение некоего файла нужной информацией - нету метки - нету действий нам важно что? - флешка с установленной меткой? - или диск, который присвоен флешке? батник находится где? на флешке? если да - зачем нам ажурная этажерка? я и пишу:for %%a in ("%~dp0") do set DrvLett=%%~da как заменаset n=\Flesh for %%I in (C D E F G H I J K L M N O P Q R S T U V W) do @dir %%I:%n% >nul 2>nul&&set DrvLett=%%I в переменной DrvLett - буква диска, откуда был запущен наш батник! диск флешки же есть? батник находится на этой флешке?
|
loban_ser
- Longevity: 6 years 8 months
- Posts: 577
- REPUTATION:24[+] [-]
|
wadimus,бантик может находится в самом ядре PE, можно вывести ярлык допустим на рабочий стол, Flesh это маркерный файл находящийся в корне флешки с которой нужно запустить программы На скриншота выше видно, что присутствуют два диска с одинаковым набором программ, вообще все как и просил goga8686,
|
wadimus
- Longevity: 7 years 10 months
- Posts: 749
- REPUTATION:91[+] [-]
|
loban_ser, во! батник в любом месте нашей флешки. давай я поясню свою строку: - запускаем батник, он определяет своё местонахождение %~dp0 - присваиваем это местонахождение (а оно типа такого: U:\--Sand\1\) переменной %%a - и из этой переменной выделяем только букву диска %~da (в моём случае это U:) в справке к команде For основные модификаторы: %~I - из переменной %I удаляются обрамляющие кавычки (") %~fI - переменная %I расширяется до полного имени файла %~dI - из переменной %I выделяется только имя диска %~pI - из переменной %I выделяется только путь к файлу %~nI - из переменной %I выделяется только имя файла %~xI - из переменной %I выделяется расширение имени файла %~sI - полученный путь содержит только короткие имена %~aI - переменная %I расширяется до атрибутов файла %~tI - переменная %I расширяется до даты /времени файла %~zI - переменная %I расширяется до размера файла
|
loban_ser
- Longevity: 6 years 8 months
- Posts: 577
- REPUTATION:24[+] [-]
|
wadimus, Я это все знаю, но к чему это? Я ведь объяснил, что бантик запуска может находится где угодно, не обязательно на той флешке на которой нужно запустить программы. Я думаю вам лучше узнать у goga8686 где ему лучше его разместить. Он попросил, я навоял по скоренькой, а откуда будет запускать сам разберётся, думаю речь шла о универсальности.
|
wadimus
- Longevity: 7 years 10 months
- Posts: 749
- REPUTATION:91[+] [-]
|
loban_ser, боюсь я все эти перенаправления, особенно поток ошибок (2>nul)
|
loban_ser
- Longevity: 6 years 8 months
- Posts: 577
- REPUTATION:24[+] [-]
|
goga8686, Я бы дополнилfor %%I in (C D E F G H I J K L M N O P Q R S T U V W) do @dir %%I:%n% >nul 2>nul&&set DrvLett=%%I || echo Диск с софтом не найден&timeout /t 7 >nul&goto eof с телефона не очень удобно писать, так что мильпардон
|
loban_ser
- Longevity: 6 years 8 months
- Posts: 577
- REPUTATION:24[+] [-]
|
Да. благодарю!for %%I in (C D E F G H I J K L M N O P Q R S T U V W) do dir %%I:%n% >nul 2>nul&&set DrvLett=%%I If Not DEFINED DrvLett echo Диск с софтом не найден!!!&timeout /t 7 /NOBREAK>nul&goto :eof 71116А диски X Y Z совсем некошерные? Известно почему, X Y в РЕ могут быть заняты, ну а добраться до Z...... просто не представляю сколько должно флешек присоеденено.
71118Нет у тебя явной метки eof. Есть неявная метка :eof исправил@Echo OFF set n=\Flesh for %%I in (C D E F G H I J K L M N O P Q R S T U V W) do dir %%I:%n% >nul 2>nul&&set DrvLett=%%I If Not DEFINED DrvLett %windir%\System32\au3381.exe %~DP0end.a3x&goto :eof ( echo.[Config] echo.ext=.shl echo.BackFile=%%temp%%\PsMgr.bck echo.Idx=PsMgrCache.idx echo.[Path] echo.Drives=[Removable=%DrvLett%][Fixed=%DrvLett%]:\XMPE\Programs )>%DrvLett%:\XMPE\Programs\PsMgr.ini start "" /b %windir%\System32\au3381.exe "%DrvLett%:\XMPE\Programs\PsMgr.a3x" Exit /B [Shortcut] exe=Hidcon.exe lnk=Soft Xemom1 for Drive Label=Flesh Desktop=\ workdir=\ icon=\icon.ico args=PsMgr.bat desc=Подключение программ Soft Xemom1 SplashTextOn("Soft", "Диск с софтом не найден!!!", 300,50, 100, 100, 0, "", 12) Sleep(3000) SplashOff()
Last edited by loban_ser on 2019-10-29 04:54; edited 5 times in total
|
Ander_73
- Longevity: 7 years 8 months
- Posts: 3769
- REPUTATION:127[+] [-]
|
loban_ser, а ты упрямый! Нет у тебя явной метки eof. Есть неявная метка :eof
|
Current time is: 16-Oct 00:13
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
|
|