puhpol
- Longevity: 10 years
- Posts: 892
- REPUTATION:75[+] [-]
|
Скрипт ищет заданную папку на всех дисках, после чего запускает указанную программу с этого диска.@echo off for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%I:\wind set PUH=%%I: start /w %PUH%\wind\setup64.cmd for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%I:\wind set PUH=%%I: Эта строка ищет папку \wind на всех дисках и задает переменную PUH (не понял зачем, но работает и фиг с ним) start /w %PUH%\wind\setup64.cmd После того как найден нужный диск запускаем скрипт setup64.cmd с ожиданием его выполнения.--Скрипт запускающий программу в зависимости от разрядности системы. Должен лежать рядом с программой.@echo off if exist %WinDir%\SysWOW64 (start WinInstaller64.exe) Else (start WinInstaller32.exe) exit if exist %WinDir%\SysWOW64 (start WinInstaller64.exe) Else (start WinInstaller32.exe) Если в системной папке найдена папка SysWOW64 будет запущена программа WinInstaller64.exe, в противном случае WinInstaller32.exe.--@Echo Off cd /D "%~dp0" IF EXIST "%ProgramFiles(x86)%" ( Start /d"%~dp0" WinInstaller64.exe %* ) Else ( Start /d"%~dp0" WinInstaller32.exe %* )
Last edited by puhpol on 2015-07-13 17:37; edited 1 time in total
|
nikzzzz
- Longevity: 9 years
- Posts: 3114
- REPUTATION:127[+] [-]
|
Маленькую лепту внесу. Вывод спец. символов в консоль или файлset str="123^123<123>123%%123(123)123|123" for /f %%a in (%str%) do echo:%%a
|
Отправлено: 02-Oct-2015 13:47
(after 3 months 20 days)
zxen
- Longevity: 10 years
- Posts: 263
- REPUTATION:21[+] [-]
- Location: Siberia
|
Данный cmd, перемонтирует диск с которого он запущен, на другую букву, в данном случае на k:@echo off cd /d c: for /f "tokens=*" %%a in (' mountvol %~d0 /l ') do ( mountvol %~d0 /d & mountvol k: %%a & exit )
|
Отправлено: 16-Jan-2016 21:56
(after 3 months 14 days)
puhpol
- Longevity: 10 years
- Posts: 892
- REPUTATION:75[+] [-]
|
Приветствую господа! Опять прошу помощи по скриптам..... (я честно пытался сам разобраться,но такие выраженияnot Задает выполнение команды только в случае невыполнения условия. errorlevel число Условие выполняется, если предыдущая команда, обработанная интерпретатором команд Cmd.exe, завершилась с кодом, равным или большим числа. команда Команда, которая должна быть обработана в случае выполнения условия. строка1==строка2 Условие выполняется, если строки строка1 и строка2 совпадают. Строки могут быть заданы явно или могут быть пакетными переменными (например, %1). Явно заданные строки нет необходимости заключать в кавычки. exist имя_файла Условие выполняется, если существует файл с именем имя_файла. оп_сравнения Трехзначный оператор сравнения. В следующей таблице перечислены допустимые значения оп_сравнения. меня вводят в ступор.... Задача: При установки ВИНДОВС нужно запустить программу только в редакции STARTER. (интеграция в WIM файл - не удобна) В скрипте активатора нашел такие строки:REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | FINDSTR /i BASIC IF NOT ERRORLEVEL 1 CSCRIPT %WinDir%\system32\slmgr.vbs -ipk 36T88-RT7C6-R38TQ-RV8M9-WWTCY REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | FINDSTR /i STARTER IF NOT ERRORLEVEL 1 CSCRIPT %WinDir%\system32\slmgr.vbs -ipk 36Q3Y-BBT84-MGJ3H-FT7VD-FG72J И если мои догадки верны, скрипт должен выглядеть так:REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName | FINDSTR /i STARTER IF NOT ERRORLEVEL 1 START /b /w data\Panel.exe Вопрос:Я правильно понимаю? Такое вообще возможно? или я сам себе на фантазировал.......
|
Отправлено: 19-Jan-2016 19:45
(after 2 days 21 hour)
rbskin
- Longevity: 9 years 9 months
- Posts: 35
- REPUTATION:0[+] [-]
|
Приветствую! Господа. В чем ошибка? При такой записи - работает FOR %%i IN (C D E F G H I J K L N M O P Q R S T U V W X Y Z) DO IF EXIST %%i:\_Soft.Port\ start """" %%i:\_Soft.Port\MiniTool_Partition_Wizard_Server_9.0\PartitionWizard.exe -ai1 & exit а в этом случае - тишина set MyName=\_Soft.Port\MiniTool_Partition_Wizard_Server_9.0\PartitionWizard.exe -ai1 for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do dir %%I:%MyName%&&start "" "%%I:%MyName%"&&exit echo УВЫ, ничего не найдено! exit
|
SunOK
- Longevity: 10 years
- Posts: 352
- REPUTATION:32[+] [-]
- Location: Україна, Перлина Поділля
|
rbskin, возможные варианты ашипок: 1. Пробел в кавычках (сужу по сообщению)2. Ключ -ai1 мешает выполнению команды dir. 3. Допустимо ли для команды dir использование имени файла в переменной? (сам не знаю)
Last edited by SunOK on 2016-01-19 20:19; edited 1 time in total
|
puhpol
- Longevity: 10 years
- Posts: 892
- REPUTATION:75[+] [-]
|
175183. Допустимо ли для команды dir использование имени файла в переменной? (сам не знаю) Судя по написанному выше имя файла можно. А вот ключ я бы точно не там писал.... set MyName=\_Soft.Port\MiniTool_Partition_Wizard_Server_9.0\PartitionWizard.exe for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do dir %%I:%MyName%&&start -ai1 """"%%I:%MyName%"&&exit echo УВЫ, ничего не найдено! exit Хотя меня в данном случае слушать не стоит, еще тот скриптописец.....
|
Отправлено: 19-Jan-2016 22:02
(after 1 hour 46 minutes)
nikzzzz
- Longevity: 9 years
- Posts: 3114
- REPUTATION:127[+] [-]
|
Чтобы не перебирать все буквы@echo off for /f "tokens=1,* delims= " %%a in ('fsutil fsinfo drives ^| more') do set drivers=%%b echo %drivers% for %%a in (%drivers%) do echo %%a
|
rbskin
- Longevity: 9 years 9 months
- Posts: 35
- REPUTATION:0[+] [-]
|
nikzzzz Приветствую! Обе записи (приведены выше) работают при ссылке на .exe файл, а при добавлении ключа вторая запись не хочет.
|
nikzzzz
- Longevity: 9 years
- Posts: 3114
- REPUTATION:127[+] [-]
|
rbskin, Можно попробовать так@echo off set MyName=_Soft.Port\MiniTool_Partition_Wizard_Server_9.0\PartitionWizard.exe for /f "tokens=1,* delims= " %%a in ('fsutil fsinfo drives ^| more') do set drives=%%b 1>nul 2>&1 (for %%a in (%drives%) do (dir "%%a%MyName%") && (start "" "%%a%MyName%" -ai1) && goto :eof) echo УВЫ, ничего не найдено! goto :eof
|
sergeysvirid
- Longevity: 9 years
- Posts: 2585
- REPUTATION:127[+] [-]
- Location: 65 регион (GMT+11)
|
17516В чем ошибка? При такой записи - работает FOR %%i IN (C D E F G H I J K L N M O P Q R S T U V W X Y Z) DO IF EXIST %%i:\_Soft.Port\ start """" %%i:\_Soft.Port\MiniTool_Partition_Wizard_Server_9.0\PartitionWizard.exe -ai1 & exit а в этом случае - тишина set MyName=\_Soft.Port\MiniTool_Partition_Wizard_Server_9.0\PartitionWizard.exe -ai1 for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do dir %%I:%MyName%&&start "" "%%I:%MyName%"&&exit echo УВЫ, ничего не найдено! exit Может быть в том, что в пути у Вас после буквы диска и перед переменной не стоит символа обратного слэша "\" да и как писалось выше ключик ai1 наверное не там указывать надо. Я такой же скриптописец, как и puhpol , но попробуйте вот так: set MyName=\_Soft.Port\MiniTool_Partition_Wizard_Server_9.0\PartitionWizard.exe for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do dir "%%I:\%MyName%"&&start "" /w -ai1 -gm2 "%%I:\%MyName%"&&exit
|
nikzzzz
- Longevity: 9 years
- Posts: 3114
- REPUTATION:127[+] [-]
|
Да ошибка в том, что ищется файл с именем "PartitionWizard.exe -ai1", а не "PartitionWizard.exe", а такого файла естественно нет. Ну, и слеша не хватает.
|
rbskin
- Longevity: 9 years 9 months
- Posts: 35
- REPUTATION:0[+] [-]
|
nikzzzz sergeysvirid Приветствую! Попробовал варианты. УВЫ, ничего!
|
Отправлено: 20-Jan-2016 12:19
(after 1 hour 18 minutes)
Guest
- REPUTATION:0[+] [-]
|
set MyName=\_Soft.Port\MiniTool_Partition_Wizard_Server_9.0\PartitionWizard.exe for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do dir "%%I:%MyName%"&&start "" "%%I:%MyName%" -ai1&&exit
|
rbskin
- Longevity: 9 years 9 months
- Posts: 35
- REPUTATION:0[+] [-]
|
conty9 Приветствую! Спасибо за ответ. Теперь все прекрасно работает.
|
Page 1 of 8
Current time is: 04-Dec 18:34
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
|
|