Wake of Gods Forum | Форум Во Имя Богов
BAT-файлы - Printable Version

+- Wake of Gods Forum | Форум Во Имя Богов (http://wforum.heroes35.net)
+-- Forum: Общие Форумы (/forumdisplay.php?fid=100)
+--- Forum: Софт и железо (/forumdisplay.php?fid=137)
+--- Thread: BAT-файлы (/showthread.php?tid=1052)


BAT-файлы - aLLigator - 01.02.2010 19:35

Немного предыстории..
Столкнулся с небольшой проблемкой, что на флешке отформатированной exFAT при любом неверном телодвижении вроде выдергивания без отключения или даже просто пропадение питания на ЮСБ порте весь том становится "риадонли" и вывести его из этого состояния может только форматирование либо сканирование скандиском с определенным ключем.
Теперь сама суть..
Решил для простоты и удобства сделать батничек запускающий проверочку с нужным ключем в случае такого трабла.
Получилось нечто вроде этого:
CHKDSK %~d0 /F
exit

%~d0 вместо статической буквы был взят для того,чтобы метод был универсальным и запускаемым на других машинах где флешке будет выдана другая буква диска.

Но в результате скандиск нехочет производить проверку диска по причине что с него запущен этот самый батник.мол пока он не отработает кина не будет!!

Поиск в тырнете дал совет использовать вызов команды через start с ключем /nowait, но самое интересное что такой ключ не предусмотрен и при попытке запуска пишет что он неверный.

Может у кого будут какие идеи как запустить проверку определенного тома с автоматическим определением буквы и при этом чтобы запущенный процесс не держал устройство от такой проверки??


Пы.Сы. Просьба переход на ФАТ32 или НТФС не предлагать! с ними ещё больше проблемм..


RE: BAT-файлы - gamecreator - 01.02.2010 20:04

эта проблема на одном компьютере? если да, то в настройках флешки можно попробовать поставить оптимизацию на быстрое извлечение


RE: BAT-файлы - aLLigator - 01.02.2010 20:12

это замануха exFAT!! хотя возникает пожалуй только на ХР.. на Висте и Семерке по другому реализовано отключение и пока ещё такого трабла у меня не возникало.


RE: BAT-файлы - gamecreator - 01.02.2010 20:34

попробуй /X


RE: BAT-файлы - Dj_Kolan - 02.02.2010 01:26

Я думаю, что у тебя просто глючит файловая система. Дело в том, что виндовое форматирование не полностью стирает/записывает всё с флэшки... Тебе флэху сначала надо забить нулями, а потом снова отформатировать. И, кстати, с FAT32 у меня на флэхе проблем никаких нету.


RE: BAT-файлы - aLLigator - 02.02.2010 01:52

(01.02.2010 20:34)gamecreator Wrote:  попробуй /X
в принципе оно то же самое и предлагает когда неможет получить полный доступ что и дает ключ "Х"... но это всеравно не помогает!

(02.02.2010 01:26)Dj_Kolan Wrote:  Я думаю, что у тебя просто глючит файловая система.

это не глюк, а фишка специально сделанная мелкософтом... типа чтобы не потерять данные от случайного перезаписывания поверх - недает ничего сделать с томом до его проверки скандиском.

(02.02.2010 01:26)Dj_Kolan Wrote:  И, кстати, с FAT32 у меня на флэхе проблем никаких нету.
Bad не поддерживает файлы более 4 гигов.. а иногда ХДТВшки на ней переносить приходится. К тому же именно с этой флехой вылазит глюк что при копировании на флешку в Тотале не показывает процент выполнеия.. с чем связано незнаю, но перепробовав ФАТ32, НТФС с разным размером кластера остановился на эксФАТ! если бы не замануха с "риадонли" идеальный вариант как для меня!

Bad В общем я так понял никто не в курсе как закрыть выполняемый батник..


RE: BAT-файлы - gamecreator - 02.02.2010 02:24

работает такое:

autorun.bat Wrote:copy /Y additional.bat c:\temp\additional.bat
start c:\temp\additional.bat

additional.bat Wrote:;user code
del /Q c:\temp\additional.bat
exit



RE: BAT-файлы - aLLigator - 02.02.2010 03:07

Sm не спорю что перенос на хард работает.. но как тогда определять букву диска для проверяего устройства?


RE: BAT-файлы - Bourn - 02.02.2010 04:09

в чем проблема то?)
echo CHKDSK %~d0 /F > c:\temp\additional.bat
start c:\temp\additional.bat

хотя правильнее юзать будет подстановку %TEMP%


RE: BAT-файлы - aLLigator - 02.02.2010 14:37

Bad то же самое получается... даже поставил ключ /i к старту чтобы в новом окне запускало - та же фигня!

Image: 28ahuu0.gif


RE: BAT-файлы - Bourn - 02.02.2010 14:44

а как на счет
echo C: > %TEMP%\additional.bat
echo CHKDSK %~d0 /F /X >> %TEMP%\additional.bat
start %TEMP%\additional.bat

или вообще:
echo C: > %TEMP%\additional.bat
echo start CHKDSK %~d0 /F >> %TEMP%\additional.bat
start %TEMP%\additional.bat


RE: BAT-файлы - aLLigator - 02.02.2010 17:13

ВОТ!! Оргомнейшее спасибо!


RE: BAT-файлы - Dj_Kolan - 02.02.2010 23:37

Ген, а ты этот скрипт хочешь в авторан на флэшку посадить? Или просто заходить на флэшку и запускать его?
Добавлено:
Я просто, так подумал, что автозапуск флэшек люди отключают обычно, чтоб флэшечные вири не запускались...


RE: BAT-файлы - gamecreator - 03.02.2010 02:07

а какая разница если он ручками его запустит или автораном?


RE: BAT-файлы - aLLigator - 03.02.2010 17:02

не.. авторан тут уже будет лишним! тем более что я эту функцию вообще отключил и вдобавок на вякий случай прописал удаление autorun.inf для любого подсоединяемого устройства..


RE: BAT-файлы - aLLigator - 03.02.2010 23:04

Sm задачка нумеро дуос!

Можно как-то с помощью батника сэмуировать нажатие клавиш fn+F3??

Постоянно работаю с блютус мышкой подкюченной к ноутбуку.. и хотелось чтобы встроенный блютус сам включался при запуске системы, а не надо было каждый раз давить софтовую кнопку.


RE: BAT-файлы - gamecreator - 04.02.2010 01:38

глянь в биосе настройки. а вообще драйвер сам должен запоминать состояние блютуса (у меня на ноуте запоминает)


RE: BAT-файлы - aLLigator - 04.02.2010 02:40

биос дает поменять от силы 6-7 пунктов.. состояние тоже не запоминается!


RE: BAT-файлы - gamecreator - 04.02.2010 02:49

можно прогу написать которая посылала бы эту комбинацию рабочему столу.


RE: BAT-файлы - aLLigator - 04.02.2010 02:55

Bad блин.. только что проверил что эта комбинация не катит! а нажатие софтовой клавиши фиг знает как поймать..


RE: BAT-файлы - Dj_Kolan - 04.02.2010 12:23

Ох уж эти ноутбуки... По мне, дак с ними одно мучение...
Тут вот вчера на сони вайо ставил вин7 вмето висты... Горя хапнул немеряно. Но это уже для другой темы разговор.


RE: BAT-файлы - gamecreator - 04.02.2010 14:56

(04.02.2010 02:55)aLLigator Wrote:  эта комбинация не катит!
а какая катит?


RE: BAT-файлы - aLLigator - 04.02.2010 16:04

(04.02.2010 14:56)gamecreator Wrote:  
(04.02.2010 02:55)aLLigator Wrote:  эта комбинация не катит!
а какая катит?
Sm софтовая кнопка катит!
Bad как перехватить её значение без понятия..


RE: BAT-файлы - gamecreator - 04.02.2010 19:28

всмысле софтовая кнопка? та, что отдельно от клавы?


RE: BAT-файлы - aLLigator - 04.02.2010 19:43

(04.02.2010 19:28)gamecreator Wrote:  всмысле софтовая кнопка? та, что отдельно от клавы?
Bad ага..


RE: BAT-файлы - Dj_Kolan - 04.02.2010 20:36

(03.02.2010 23:04)aLLigator Wrote:  и хотелось чтобы встроенный блютус сам включался при запуске системы, а не надо было каждый раз давить софтовую кнопку.
Ген, а в виде чего этот встроенный блютус запускается? В виде службы/процесса, в виде приложения, или как?


RE: BAT-файлы - aLLigator - 05.02.2010 00:00

(04.02.2010 20:36)Dj_Kolan Wrote:  
(03.02.2010 23:04)aLLigator Wrote:  и хотелось чтобы встроенный блютус сам включался при запуске системы, а не надо было каждый раз давить софтовую кнопку.
Ген, а в виде чего этот встроенный блютус запускается? В виде службы/процесса, в виде приложения, или как?
скорее всего в виде приложения.. хотя может какие службы при это и задействуются (не проверял). При включении появляется обычная иконка в панели задач да и все...


RE: BAT-файлы - Dj_Kolan - 05.02.2010 22:42

Может тогда просто добавить в автозапуск это приложение?


RE: BAT-файлы - gamecreator - 05.02.2010 23:07

вообще-то оно автоматически должно запускаться при старте системы.


RE: BAT-файлы - aLLigator - 06.02.2010 01:27

Bad изначально и стоит в автозагрузке!


RE: BAT-файлы - Dj_Kolan - 06.02.2010 21:37

Может тогда в строчку автозагрузки добавить ключик какой-нить? Документация или справка есть по этому приложению?


RE: BAT-файлы - aLLigator - 06.02.2010 23:20

так в том то и дело что нету возможности програмно его включить.. соответственно откуда ключику на это дело взяться?


RE: BAT-файлы - Efrit - 22.02.2011 22:29

Кто-нибудь знает, как в XP запустить приложение с определённым приоритетом? Имеется в виду "приоритет процесса", который можно поменять в Диспетчере задач. Везде пишут про создание определённых батников... Я и создаю такой батник - но он почему-то работает лишь для приложений, которые находятся где-то на диске C:, для диска D: же он не срабатывает - просто висит окон командной строки и всё...


RE: BAT-файлы - etoprostoya - 22.02.2011 22:41

Покажи пример.


RE: BAT-файлы - Efrit - 23.02.2011 00:02

Если я прописываю внутрь батника
start /low c:\windows\notepad.exe
- то Блокнот и впрямь открывается с низким приоритетом.

Однако если я копирую его экзешник в корень диска D:, а содержимое батника меняю на
start /low d:\notepad.exe
- то Блокнот почему-то стартует с обычным приоритетом...


RE: BAT-файлы - etoprostoya - 23.02.2011 02:02

У меня в обоих случаях низкий приоритет.


RE: BAT-файлы - Efrit - 23.02.2011 02:23

А у меня нет... Мда, какие-то глюки. В чём же причина? 105


RE: BAT-файлы - gamecreator - 23.02.2011 03:56

у меня тоже все ок. мб не хватает прав?


RE: BAT-файлы - Deo - 24.02.2011 19:30

Efrit, попробуй так (-:



RE: BAT-файлы - Corwin - 24.02.2011 19:59

Quote:мб не хватает прав?
Да-да, Эфрит, ты не имеешь права так поступать!
Я буду жаловаться, я директор музея!


RE: BAT-файлы - Efrit - 24.02.2011 21:04

Deo, а это что за язык такой? В какой среде компилить нужно?

Corwin, а тихонько, скрытно... Никто и не узнает Spiteful


RE: BAT-файлы - Deo - 24.02.2011 21:05

Efrit, Assembler (MASM32).


RE: BAT-файлы - Efrit - 24.02.2011 23:54

А да, точно, пригляделся повнимательнее Sm Попробую...


RE: BAT-файлы - izrukvruki - 02.12.2013 17:16

не подскажите... можно ли написать батник, который копировал бы следующие папки (с подпапками и файлами) и файлы с заменой старых файлов на новые, если таковые имеются...
Image: 8ef8e98cfdbe.jpg


RE: BAT-файлы - Algor - 02.12.2013 19:16

Для каталогов xcopy, если трудность с этим.


RE: BAT-файлы - izrukvruki - 03.12.2013 10:31

вот так вроде робит...
Code:
xcopy "G:\design\act\pdf\nt\*.*" "D:\pdf\nt\*.*" /E /F /D /Y
xcopy "G:\design\act\pdf\vv\*.*" "D:\pdf\vv\*.*" /E /F /D /Y
xcopy "G:\design\act\pdf\*.pdf" "D:\pdf\*.*" /F /D /Y



RE: BAT-файлы - WWWoWaNuS - 25.12.2013 14:55

Пригодится для особо ленивых лазать по папкам игры и установивших Era. Предлагается следующий батник:
Code:
explorer .\%1
Пихается в папку с игрой, даёт возможность открывать подпапки игры через Era Start Menu. В параметре указываем требуемую подпапку..
Ну не нашёл я способа это через Era Start Menu проще сделать..Dash1


RE: BAT-файлы - gamecreator - 25.12.2013 17:00

Поправочка:
Code:
explorer %~dp0\%1
Так универсальнее и надёжней. Рабочая папка всё же может не оправдать ожиданий.

Правильная версия без косой черты:
Code:
explorer %~dp0%1



RE: BAT-файлы - WWWoWaNuS - 25.12.2013 17:19

(25.12.2013 17:00)gamecreator Wrote:  Поправочка:
Code:
explorer %~dp0\%1
Так универсальнее и надёжней. Рабочая папка всё же может не оправдать ожиданий.
Там не участвует рабочая папка, напрямую из ESM explorer не вызывается..
Image: file.html
В случае
Code:
explorer .\%1
я получаю папку модов, в твоём случае - папку "Мои документы".

Проверял на ОС Win2008R2ES(x64)


RE: BAT-файлы - gamecreator - 25.12.2013 18:16

Не может быть в моём случае "Мои документы". Там указан прямо путь в папку с файлом скрипта (%~dp0).
(25.12.2013 17:19)WWWoWaNuS Wrote:  Там не участвует рабочая папка
Она участвует когда ты в скрипте пытаешься обратиться по относительному пути к папке модов.
(25.12.2013 17:19)WWWoWaNuS Wrote:  напрямую из ESM explorer не вызывается..
Даже через %windir%\explorer.exe не вызывается? В качестве Path to file указать имя папки тоже не работает?

Ой, в моём скрипте ошибка. Косая черта не нужна оказывается. Может потому и такой странный результат у тебя. Хотя обычно если путь не существует, то вылезает окно с ошибкой.


RE: BAT-файлы - WWWoWaNuS - 25.12.2013 18:42

(25.12.2013 18:16)gamecreator Wrote:  Даже через %windir%\explorer.exe не вызывается?
Не хочется лишних переменных пихать, а то под Wine ещё менее вероятно сработает..
И - да, пробовал в ESM вписать %windir%\explorer.exe - не запускается.. (да и не надо☻)


RE: BAT-файлы - gamecreator - 25.12.2013 18:49

Разве под Wine bat-скрипты работают?


RE: BAT-файлы - Berserker - 25.12.2013 19:26

Era Start Menu позволяет просто указать путь к папке.
D:\Архив\Старый диск\C\SoD

Иконка будет та же, что и у папки. Открываться будет проводник.


RE: BAT-файлы - WWWoWaNuS - 25.12.2013 19:38

Команда "wine cmd" работает определённо.
И батники выполняются.. ☻
Видео для извра.. т.е. ознакомления. ☺☺

Berserker, ИМХО, нужны относительные пути - меньше гемора при создании установки или переносе. Но за инфо спасибо - попробую..


RE: BAT-файлы - Berserker - 25.12.2013 21:52

Я просто пример привёл. Работает и .\..

WWWoWaNuS, у тебя Эра под вайном работает?


RE: BAT-файлы - WWWoWaNuS - 25.12.2013 22:39

(25.12.2013 21:52)Berserker Wrote:  WWWoWaNuS, у тебя Эра под вайном работает?
Из-под никсов пока не тестил, если не заленит меня слишком - проверю, расскажу.
Хочется ориентироваться всё же на максимум доступных платформ (почему параллельно гляжу и за VCMI немного).
Эх, жалко, не начал никто пока "моды-универсалы" писать (хотя, думаю, возможно - ресурсы одни и те же, только механика разная. Какой-нибудь город, например..)
(25.12.2013 21:52)Berserker Wrote:  Работает и .\..
О, спасибо!

Upd.: WoG/Era не завелись, а вот MoP2:RtL завёлся нормально - видимо, в нём нет низкоуровневого перехвата и/или самоизменения кода в процессе работы - кусочная эмуляция это нормально отработать не позволит (тем более, при хуках на уровнях регистров, тут и не каждая полноценная ВМ справится). Правда, особо его не мучал - ПК на nix не совсем мой..
Тестил на Debian 7.2.0 i386 Full (Wine там есть в комплекте), никаких доп. заплаток на него предварительно не ставил.
Upd.2:HD-mod, соответственно, не работает - просто вызывает другой exe и передаёт ему права.
P.S.: Если в WoG 3.59 всё будет перевешено на высокоуровневую обработку, то - будем жить. ☻


RE: Мод "Master of puppets" - fireman - 15.09.2016 00:49

Перенесено отсюда

---------------------

В дополнение к gamecreator'у: не стоит бездумно заменять %cd% на %~dp0 в своих скриптах. Последняя даёт путь со слэшем на конце в отличии от первой, поэтому нужно ещё немного магии:
Code:
set mypath=%~dp0
set mypath=%mypath:~,-2%
Теперь намного вероятнее, что не будет проблем из-за запуска под админом. Но могут и быть. Всегда стоит проверять скрипты на удаление, которые запускаешь из под админа/sudo


RE: Мод "Master of puppets" - gamecreator - 15.09.2016 05:54

(15.09.2016 00:49)fireman Wrote:  В дополнение к gamecreator'у: не стоит бездумно заменять %cd% на %~dp0 в своих скриптах. Последняя даёт путь со слэшем на конце в отличии от первой, поэтому нужно ещё немного магии:
Code:
set mypath=%~dp0
set mypath=%mypath:~,-2%
Теперь намного вероятнее, что не будет проблем из-за запуска под админом. Но могут и быть. Всегда стоит проверять скрипты на удаление, которые запускаешь из под админа/sudo
Ну ради бога, подставь его везде:
Code:
del "%~dp0\имяфайла"
Не вижу чем это хуже твоего способа с переменной.
Более того, можно просто-напросто проверить результат выполнения предыдущей команды:
Code:
cd %~dp0
if errorlevel 1 (
    echo Unable to uninstall MoP.
    pause
    exit /B %errorlevel%)



RE: Мод "Master of puppets" - fireman - 16.09.2016 00:26

gamecreator, замечание было для тех, кто увидев это решение начнёт использовать его. В данном случае твой вариант вполне годится. И да, erorrlevel прикольный способ, обязательно заюзаю


RE: Мод "Master of puppets" - gamecreator - 16.09.2016 01:39

(16.09.2016 00:26)fireman Wrote:  gamecreator, замечание было для тех, кто увидев это решение начнёт использовать его.
То есть для меня Sm. Потому посчитал нужным разобраться.


RE: BAT-файлы - fireman - 17.09.2016 02:43

В данном случае использовать не для решения проблемы в МОП, а в целом в своих скриптах на удаление всего аля
Code:
del /s /q *

Круто, когда твой скрипт должен почистить логи, а запустил ненароком из под админ консоли...

Думаю, что можно ещё делать такую проверку для удаляющих скриптов:

Code:
if %cd%==%windir%\system32 (
echo Скрипт пытается удалить файлы в %cd%
echo Скрипт будет остановлен
exit
) else (
del /s /q *
rd /s /q *
)
pause

Хотя есть подозрение, что моя проверка тоже сработает не всегда.


RE: BAT-файлы - Bes - 31.12.2024 00:25

Всем предновогодний привет )
Нужна помощь, мужики, второй день боюсь об МакОС дерби, чувствую себя тупым школьником
Хочу создать аля "батник" для макОс (решил на старости лет жене МакБук купить), казалось бы элементарщина, опираясь на знаниях Виндоус систем... но нет, вообще глухо, читаю советы в сети, и застрял на Терминале и его неотвратимым желанием запрашивать пароль при использовании команд. Хотел на раб.столе поместить командный файл, чтобы его запускать мышкой и не вызывать каждый раз Терминал, повторяя однотипную команду раз за разом (без неё никак)
Code:
sudo ###1
sudo ###2
Если кто-то из знающих это дело достаточно пошагово распишет способ, очень буду благодарен


RE: BAT-файлы - Elmore - 31.12.2024 01:05

Bes, простая задача через chatgpt. Он тебе и пошагово все распишет и готовый код для файла даст.


RE: BAT-файлы - Bes - 31.12.2024 02:36

Я даже не сомневаюсь, что это элементарно. Но мозг настолько привык к определенным шаблонам работы в ibm pc семействе, что я реально топчусь на месте на макОс, и видимо ещё психологический дискомфорт блокирует и без того немотивируемый отдел обучаемость мозга


RE: BAT-файлы - Bes - 31.12.2024 02:46

Elmore, спасибо за совет, никогда до этого не пользовался этим инструментом современного мира )) написал ему свою шаоачу, и реально, очень понятно и по пунктам предложил мне способ достижения моего запроса. Не уверен что всё сработает, из-за необходимости ввода пароля для выполнения команды с sudo, но хоть что-то... 132


RE: BAT-файлы - Elmore - 31.12.2024 06:24

(31.12.2024 02:46)Bes Wrote:  Elmore, спасибо за совет, никогда до этого не пользовался этим инструментом современного мира )) написал ему свою шаоачу, и реально, очень понятно и по пунктам предложил мне способ достижения моего запроса. Не уверен что всё сработает, из-за необходимости ввода пароля для выполнения команды с sudo, но хоть что-то... 132

Он не всегда выдает единственное правильное или лучшее решение. Зависит от опыта использования и понимания, как сформируется ответ и какие возможны варианты.
В общем если решение не устраивает, просто поспрашивай как сделать по другому.
И еще когда в одном диалоге используется 5-10 сообщений для уточнения, он может "тупить". Лучше начать новый диалог сформировав вопрос с учетом полученной ранее информации.