Окно выбора файла bat

Обновлено: 07.07.2024

Небольшое вступление.
Я пользуюсь простейшим батником, который выглядит вот так:

Второй строкой батник сообщает программе запустить на просчёт проект, в данном случае, crowdflow_morph_001.flw
Чтобы каждый раз не прописывать путь к новому проект в голову пришла мыль сделать это с помощью GUI.
Я где-то встречал способ как вызвать GUI выбора файла, но как это использовать не знаю.
Какие будут подсказки ? __________________
Помощь в написании контрольных, курсовых и дипломных работ здесь


Вызов диалогового окна выбора цвета (Excel)
Как вызвать диалоговое окно выбора цвета и как получить из него значение для закраски ячейки? Или.


Существует ли функция для открытия диалогового окна выбора файла
Народ такой вопрос, есть ли функция или процедура в 1с по выбору документа с компьютера, чтоб было.

Ошибка при открытии диалогового окна выбора файла
Здравствуйте! Работаю с формой и необходимо открыть диалоговое окно для выбора файла. Из MSDN.

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

Выбросить GUI. (или искать по нему документации у разработчика).

Создать файл со списком проектов (можно программно) или указать папку (папки) с проектами.
Пробежаться по этому списку циклом FOR, подставляя каждую строку, как аргумент для realflow.exe
Подходит?

Да, хорошая штука. Это HTA-обертка на JAV-е для открытия диалогового окна выбора папки через объект WshShell.
Отправлю код в полезные.

Ну а если GUI подразумевает выбор папки с проектами, тогда так:

Вот же странная штука. Выбираю папку, а скрипт запускает мне программу другой версии да еще и в GUI режиме Как сделать из этого выбор конкретного файла (в одной папке бывает по несколько проектов)? Или это уже совсем другая история?

Этот код для последовательного запуска всех файлов *.flw в указанной папке.
Чтобы иметь возможность выбрать файл, нужно мудрить дальше.

Есть и вариант
2) HTA-обертка. Нашел на просторах интернет.
Но я еще не разобрался с ошибкой компиляции приведенного там кода.
Если есть желающие - дерзайте:

Winnity — консольное приложение, показывающее диалог выбора папки или файла, которое можно использовать в командных файлах.

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

Вещь полезная в плане того, что после XP выкинули потребные библиотеки, а «comdlg32.ocx» требует лицензирования »

Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


ferget, hta-редактор «Simple HTML editor» из комплектов Visual Studio, Microsoft Platform SDK, либо оффлайновых версий MSDN (я случайно наткнулся и использовал именно последний вариант). Подробности обсуждения изложены в этой теме: VBS: диалоговое окно выбора файла в windows vista & 7.

Впрочем, позже, после уточнения коллеги wisgest, у меня заработал и предложенный AnvarovSR и адаптированный smaharbA вариант: VBS диалог открытия файла не работает на Windows 7.


Anonymоus, спасибо, ясно. Значит именно мне так «везёт».

Стандратное поведение Delphi. Велик с квадратными колёсами решил не делать, воспользовался готовым.

hb860, можете там же реализовать и поддержку GetSaveFileName? Иногда бывает нужно и такое.
Также, возможно, стоит дать возможность задавать текст заголовка диалогового окна. »
Я подумаю над этим.
А в каком сценарии предполагается использование GetSaveFileName?
Стандратное поведение Delphi. Велик с квадратными колёсами решил не делать, воспользовался готовым. »

Ясно. Тогда, действительно, не стоит.

А в каком сценарии предполагается использование GetSaveFileName? »
Конкретное использование — например, чтобы задать имя файла для вывода. Как-то так:

Кому? Для тех же самых людей, которые не пользуются сторонними файловыми менеджерами, чтобы, например, просто подставить полный путь к файлу параметром пакетного файла, и не любят набирать его вручную в командной строке или, например, в ответ на запрос «set /p».

Пакетные BAT файлы

Пакетные файлы (иногда называемые bat, бат, batch, батник, батники) это обычные текстовые файлы, содержащие наборы команд интерпретатора и имеющие расширение *.bat. Редактировать такие файлы можно при помощи блокнота или любого другого текстового редактора, которым вы привыкли пользоваться. Они содержат последовательный набор команд, которые выполняются в определенном, заранее заданном, порядке. Для рядового пользователя знание принципов работы BAT файлов совершенно необязательно и редко когда требуется, но при выполнении каких-либо специализированных задач, использование пакетных файлов может очень сильно упростить жизнь и ускорить их выполнение.

Примеры bat файлов

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

Безопасно ли запускать bat файлы?

Ответ на этот вопрос зависит от того, насколько вы в состоянии понять содержимое пакетного файла, который хотите запустить. Если вы его автор, самостоятельно написали все команды и понимаете что эти команды делают, то конечно же запуск таких файлов совершенно безвреден для компьютера. НО, если вы получили такой файл по почте, скачали из интернета (особенно с сомнительного сайта) и т.д., то запускать его следует только в том случае, если вы доверяете тому, кто этот файл написал и дал вам, либо понимаете, что делают все команды, которые прописаны в нем. Так с помощью некоторых команд, которые могут быть написаны в .bat файле, можно полностью вывести из строя Windows, удалить важные данные, установить вирус или кейлоггер для кражи данных и много чего еще. Поэтому к этому вопросу надо подходить со всей ответственностью и понимать, чем это может грозить.

Как создать bat файл?

Для начала создадим папку test в корне диска C:\, чтобы в ней проводить наши эксперименты. Далее откройте блокнот (или любимый текстовый редактор) и наберите две следующих строки:

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


Пример заполнения файла

Выберите Файл - Сохранить как


Выберите Тип файла - Все файлы, в поле Имя файла введите start.bat и сохраните его в папке test на диске С.


Все, наш первый bat файл создан и лежит по адресу C:\test\start.bat. Теперь нам осталось этот файл запустить и увидеть результаты его работы.

Как запустить bat файл?

Запустить .bat файл очень просто, это делается точно также, как и запуск .exe файлов. Для этого достаточно выделить нужный .bat файл в проводнике и дважды щелкнуть по нему левой кнопкой мыши.
Альтернативным вариантом запуска (чтобы случайно не запустить что то не то, например, в том случае, если в папке много файлов) может являться запуск bat файла в 2 этапа. Сначала выделяем нужный файл левой кнопкой мыши, далее нажимаем на правую кнопку мыши, чтобы вызвать контекстное меню, и в нем уже выбираем пункт меню Открыть


В нашем примере, мы переходим в папку test на диске C:\ и запускаем файл start.bat, который мы ранее написали.

После его выполнения на экран будет выведено две строки, как на скриншоте ниже:


результат выполнения файла start.bat

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

Команды, используемые в bat файлах

Описание и примеры использования некоторых самых популярных команд есть у нас на сайте, ознакомиться с ними можно по этой ссылке: Справочник команд Windows (CMD)

Список команд, которые можно использовать в bat-файлах, можно просмотреть, введя в командной строке команду help

В результате будет выведен список доступных команд и краткое описание к этим командам.


Для того, чтобы ознакомиться с описанием интересующей вас команды, необходимо в командой строке написать help команда . Например, чтобы получить подробную справку по команде copy, необходимо ввести:

В результате, на экран будет выведена справка по команде COPY и доступные ключи.

Доброго дня!

* Для справки.

BAT-файл — текстовый файл со списком команд. При его запуске (открытии) — интерпретатор ОС выполняет их одну за одной. Это очень удобно для выполнения повторяющихся задач (например, если вам нужно запускать каждый раз игру с высоким приоритетом, или чистить определенную папку, и др.).

*

ускорение ПК

Создание BAT файлов: на примерах

Основы! С чего начать (Вариант 1: проверка пинга)

Для начала покажу, как создать простейший BAT-файл для проверки пинга (для общего понимания процесса. ).

Создаем текстовый документ

Создаем текстовый документ

Название файла у этого текстового документа может быть любым (но лучше использовать англ. символы).

Далее следует открыть этот файл и вписать в него нужные команды. В своем примере я впишу только одну (если вы делаете это впервые — рекомендую повторить ее вместе со мной):

Копируем в него нашу команду и сохраняем файл.

Копируем в него нашу команду и сохраняем файл.

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t REG_DWORD /d 00000000 /f

taskkill /F /IM explorer.exe & start explorer

Нам нужно переименовать файл так, чтобы вместо ".TXT" — было новое расширение ".BAT" !

Меняем расширение TXT на BAT

Меняем расширение TXT на BAT

Идет проверка пинга!

Идет проверка пинга!

Чтобы отредактировать BAT-файл (и каждый раз не переименовывать его туда-сюда) — рекомендую вам установить блокнот Notepad++ (уже ранее добавлял его в подборку).

После установки Notepad++ — достаточно кликнуть ПКМ по BAT-файлу — и в появившемся меню выбрать опцию редактирования.

Редактировать BAT

Вариант 2: запуск игры с высоким приоритетом + откл. авто-поиска Wi-Fi сетей

Этот скрипт рекомендуется попробовать пользователям ноутбуков, кто играет в сетевые игры.

*

Что за строки нужно добавить в BAT (выделены коричневым):

cmd.exe /c start /high /D "C:\Games\Counter-Strike 1.6\" hl.exe -game cstrike -appid 10 -nojoy -noipx -noforcemparms -noforcemaccel
netsh wlan set autoconfig enabled=no interface="Wi-Fi"
pause
netsh wlan set autoconfig enabled=yes interface="Wi-Fi"
pause

  1. запускает игру CS с высоким приоритетом (это позволяет снизить кол-во притормаживаний в играх). Разумеется, вместо строки "C:\Games\Counter-Strike 1.6\" hl.exe — вы можете указать свою игру и ее расположение;
  2. отключает авто-поиск Wi-Fi сетей (это снижаем пинг и увел. скорость сети // правда не дает подключаться к другим Wi-Fi сетям). Кстати, вместо "Wi-Fi" — нужно указать название своего адаптера (посмотрите так: нажмите Win+R, и используйте команду ncpa.cpl ) ;

Название адаптера

Вариант 3: создание резервной копий файлов и точки восстановления в Windows

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

Она копирует один каталог в другой (просто, без вопросов и расспросов). Если вам нужно скопировать 2 или 3 (или более) каталогов — просто создайте несколько подобных строк.

  1. C:\Games — тот каталог, который будем копировать (все подкаталоги и файлы из них тоже будут скопированы);
  2. D:\backup — тот каталог, куда будет всё скопировано;
  3. /f — выводит имена файлов (чтобы вы видели, что происходит);
  4. /i — создает новый каталог, если на диске "D:" нет каталога "backup" (см. строку выше);
  5. /y — перезаписывает старые файлы новыми;
  6. /s — копирует каталоги и подкаталоги, если в них есть какие-то файлы.

Для создания точки восстановления можно использовать следующий код:

wmic.exe /Namespace:\\root\default Path SystemRestore Call CreateRestorePoint "MyRestorePoint", 100, 7
pause

Точки восстановления создаются!

Точки восстановления создаются!

Вариант 4: очистка временных папок

del /q /f /s %WINDIR%\Temp\*.*
del /q /f /s %SYSTEMDRIVE%\Temp\*.*
del /q /f /s %Tmp%\*.*
del /q /f /s %Temp%\*.*

  • BAT-файл с этими строками чистит временные папки в Windows (как правило, в них скапливается один "мусор", которые занимает лишь место на диске);
  • %WINDIR%\Temp\ — это папка "C:\Windows\Temp";
  • %SYSTEMDRIVE% — это системный диск "C:\";
  • *.* — маска для удаления всех файлов;
  • /q /f /s — удаление всех каталогов и подкаталогов (без вопросов).
  • del /q /f /s %WINDIR%\Prefetch\*.* — эта строка очистит папку Prefetch (в ней сохраняется кэш от различного софта. При удалении той или иной программы — кэш в папке остается, и со временем — ее размер может разрастись);
  • del /q /f /s %SYSTEMDRIVE%\*.log — удаление всех Log-файлов с системного диска (это файлы, в которых содержится история запуска программы, например. Во многих случаях они бесполезны). Большинство программ, кстати, ведут логи, со временем они разрастаются и могут отнять сотни МБ на диске;
  • При помощи предыдущей команды можно удалить и другие файлы с системного диска (например, с расширением .tmp или .bak // достаточно поменять лишь концовку команды) — однако, будьте аккуратны, легко можно что-нибудь запороть!

Этот мини-скриптик может быть весьма полезный (например, если у вас "подвисает" проводник при обращении к флешки // или не запускается управление дисками).

*

@echo off
wmic logicaldisk get name, VolumeName, Size, FileSystem, NumberOfBlocks, description
set /p adisk="Введите букву диска/флешки для форматирования: "
set /p named="Введите имя для диска/флешки (любое, например, my_disk): "
set /p number="Нажмите l — для формат. в NTFS, 2 — в FAT32, 3 — для в ExFAT. Ваше число: "

if "%number%" == "1" (
format %adisk%: /FS:NTFS /Q /V:%named%
pause
exit /b
)

if "%number%" == "2" (
format %adisk%: /FS:FAT32 /Q /V:%named%
pause
exit /b
)

if "%number%" == "3" (
format %adisk%: /FS:ExFAT /Q /V:%named%
pause
exit /b
)

Он довольно простой, но будьте с ним аккуратны! Если укажите не ту букву накопителя — можно легко отформатировать не тот диск.

Как он работает (запускать под именем администратора):

Пример работы BAT-файла

Пример работы BAT-файла для форматирования флешки

Как запускать BAT-файл от имени администратора (и по расписанию)

Нажать ПКМ по BAT-файлу

Нажать ПКМ по BAT-файлу

Создание ярлыка к BAT-файлу

Создание ярлыка к BAT-файлу

Свойства ярлыка — запускать с админ. правами

Свойства ярлыка — запускать с админ. правами

В планировщике заданий Windows (чтобы его открыть нажмите Win+R , и используйте команду control schedtasks ) можно настроить запуск BAT-файла в нужное время и с нужными правами (т.е. автоматически). Это может быть весьма удобно, и серьезно упростить работу со множеством задач (очистка Windows от мусора, создание бэкапов и пр.) — точно никогда не забудете!

Триггеры - когда выполнять задачу, расписание

Триггеры - когда выполнять задачу, расписание

Чаще всего это бывает с теми BAT, в которых есть русские символы и выставлена "неправильная" кодировка (например, они часто встречаются в пути к папке: "C:\Games\Лучшие игры" ). Кстати, в этом случае BAT-файл работать не будет: после попытки выполнения операции с "крякозабрами" — появится ошибка и окно CMD будет закрыто.

Читайте также: