[Quote]

    puhpol
  • 2
  • 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

[Quote]

    nikzzzz
  • 215
  • 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

[Quote]

    zxen
  • 32
  • 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 )

[Quote]

    puhpol
  • 2
  • 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
Вопрос:Я правильно понимаю? Такое вообще возможно? или я сам себе на фантазировал.......

Information from puhpol


Сам разобрался... Усе работает...

[Quote]

    rbskin
  • 439
  • 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

[Quote]

    SunOK
  • 9
  • Longevity: 10 years
  • Posts: 352
  • REPUTATION:32

    [+] [-]
  • Location: Україна, Перлина Поділля
rbskin, возможные варианты ашипок:
1. Пробел в кавычках (сужу по сообщению)
&&start "" "%%I
2. Ключ -ai1 мешает выполнению команды dir.
3. Допустимо ли для команды dir использование имени файла в переменной? (сам не знаю)


Last edited by SunOK on 2016-01-19 20:19; edited 1 time in total

[Quote]

    puhpol
  • 2
  • 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
Хотя меня в данном случае слушать не стоит, еще тот скриптописец.....

[Quote]

    nikzzzz
  • 215
  • 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

[Quote]

    rbskin
  • 439
  • Longevity: 9 years 9 months
  • Posts: 35
  • REPUTATION:0

    [+] [-]
nikzzzz
Приветствую!
Обе записи (приведены выше) работают при ссылке на .exe файл,
а при добавлении ключа вторая запись не хочет.

[Quote]

    nikzzzz
  • 215
  • 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

[Quote]

    sergeysvirid
  • 104
  • 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 ag , но попробуйте вот так:
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

[Quote]

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

    [+] [-]
17533В чем ошибка?
Да ошибка в том, что ищется файл с именем "PartitionWizard.exe -ai1", а не "PartitionWizard.exe", а такого файла естественно нет. ag
Ну, и слеша не хватает.

[Quote]

    rbskin
  • 439
  • Longevity: 9 years 9 months
  • Posts: 35
  • REPUTATION:0

    [+] [-]
nikzzzz
sergeysvirid
Приветствую! Попробовал варианты.
УВЫ, ничего!

[Quote]

    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

[Quote]

    rbskin
  • 439
  • Longevity: 9 years 9 months
  • Posts: 35
  • REPUTATION:0

    [+] [-]
conty9
Приветствую!
Спасибо за ответ.
Теперь все прекрасно работает.

Page 1 of 8


Display posts:    

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