Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.51/113: Рейтинг темы: голосов - 113, средняя оценка - 4.51
Eskander88
11 / 12 / 2
Регистрация: 02.11.2015
Сообщений: 204
13.08.2018, 10:38 41
Цитата Сообщение от alpap Посмотреть сообщение
вероятно это как раз один из тех случаев когда неоднократно предупреждалось: Не называть имена переменных, имена bat, именами встроенных команд и заранее определенных переменных
да честно говоря не так уж и "многократно".. а почему именами переменных нельзя?

там же обёртка %....%, хотелось бы пример увидеть если так
Bash
1
2
3
echo time
echo %time%
:: результат будет различным
может кто знает, существует ли способ отключить возможность cmd.exe не запускать bat-скрипты без расширения? через реестр например?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.08.2018, 10:38
Ответы с готовыми решениями:

Эффективное использование С#
Добрый вечер! У кого-нибудь есть книга: "Эффективное использование С#" Билла Вагнера в электронном...

Эффективное использование памяти
Добрый день! Подскажите, пожалуйста, какой способ будет эффективнее всего использовать память при...

Эффективное использование элементов
Всем добрый вечер. Пните пожалуйста в нужное направление😅 Есть 3000+ элементов по цветам( всего 12...

Эффективное использование ОЗУ
Люди, здравствуйте. Если на борту компьютера много оперативной памяти, то есть ли эффективный...

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

48
FlasherX
1237 / 661 / 258
Регистрация: 06.06.2017
Сообщений: 2,444
13.08.2018, 11:19 42
Eskander88, ваша проблема — это exe-утилита в одном из путей PATH (system32 в данном случае), а система в поиске отдаёт приоритет, что логично, рабочей папке, где и находит исполняемый bat, поэтому, если хотите оставить название батника, то пишите полное имя утилиты: find.exe вместо find.
1
Eskander88
11 / 12 / 2
Регистрация: 02.11.2015
Сообщений: 204
13.08.2018, 12:52 43
Цитата Сообщение от FlasherX Посмотреть сообщение
ваша проблема — это exe-утилита в одном из путей PATH (system32 в данном случае), а система в поиске отдаёт приоритет, что логично, рабочей папке, где и находит исполняемый bat, поэтому, если хотите оставить название батника, то пишите полное имя утилиты: find.exe вместо find
прикольная логика... эт получается если писать батники то тогда, надо не dir команду а скажем dir.exe - и т.д по аналогии... иначе вдруг в каталоге одноимённый файл будет? не хилый эксплойт...
0
FlasherX
1237 / 661 / 258
Регистрация: 06.06.2017
Сообщений: 2,444
13.08.2018, 13:08 44
Цитата Сообщение от Eskander88 Посмотреть сообщение
надо не dir команду а скажем dir.exe
Ошибаетесь. dir — это не утилита, а команда cmd.exe.
0
13.08.2018, 13:08
Eskander88
11 / 12 / 2
Регистрация: 02.11.2015
Сообщений: 204
13.08.2018, 13:08 45
ну хоть так... значит надо разделять команды на встроенные и утилиты... вот оно как
0
FlasherX
1237 / 661 / 258
Регистрация: 06.06.2017
Сообщений: 2,444
13.08.2018, 13:28 46
Более того, если в рабочей папке не будет исполняемого файла, а в %Path% будет находится несколько путей, где лежит одноимённая утилита, то приоритет будет отдаваться первому пути в списке, и тогда добавкой точки с расширением не обойтись, придётся указывать весь путь целиком.
1
Dragokas
Эксперт WindowsАвтор FAQ
17088 / 7143 / 861
Регистрация: 25.12.2011
Сообщений: 10,951
Записей в блоге: 16
13.08.2018, 18:48  [ТС] 47
Цитата Сообщение от Eskander88 Посмотреть сообщение
.bat файл можно запустить без указания расширения?!
И можно ли это поведение отключить?
Вообще-то можно (отредактировав PathExt), только вот не стоит этого делать.
1
bidstrup
308 / 128 / 19
Регистрация: 11.03.2018
Сообщений: 586
14.08.2018, 10:11 48
Цитата Сообщение от Dragokas Посмотреть сообщение
Вообще-то можно (отредактировав PathExt)
Да? И как? Какую сакральную фразу туда вписать?
0
FlasherX
1237 / 661 / 258
Регистрация: 06.06.2017
Сообщений: 2,444
14.08.2018, 13:46 49
Убрать bat: SET PATHEXT=%PATHEXT:;.BAT=%
Оставить только exe: SET PATHEXT=.EXE;
0
14.08.2018, 13:46
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2018, 13:46

Parallel.ForEach эффективное использование
Хотелось бы услышать реальный опыт использования параллельных циклов и плюсы от использования, если...

Эффективное использование графики GDI+
Отрисовка в классе Graphics не очень эффективна, когда нужно нарисовать большое изображение или...

SqlDataReader - более эффективное использование
Здравствуйте! Подскажите пожалуйста, что более рационально использовать 1) Делать несколько...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
49
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru