Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/76: Рейтинг темы: голосов - 76, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 10
1

Вывод в файл информации о всех имеющихся в заданной директории исполняемых файлах

09.03.2015, 12:42. Показов 15895. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Имеется задание: Разработать пакетный файл для вывода информации в файл о всех имеющихся исполняемых файлах в заданном директории.

Главная проблема в том, что не умею совершенно работать в командной строке, учусь лишь на первом курсе, с бат и командной строкой не знаком, объяснить ничего не объяснили что и как делать.
гугл однозначной помощи не дал.
Понял, что нужно создать файл, который при выполнении данного кода создаст файл и информацией обо всех исполняемых файлах в заданной директории.
Помогите пожалуйста
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.03.2015, 12:42
Ответы с готовыми решениями:

Поиск определённого слова во всех имеющихся в заданной директории текстовых файлах
Подскажите плиз, как сделать поиск во всех имеющихся текстовых файлах определённого слова? На диске...

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

BAT-файл для вывода информации об исполняемых файлах
Помогите,. пожалуйста, с задачкой:boredom: Разработать пакетный файл для вывода информации в файл...

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

10
12 / 3 / 0
Регистрация: 10.04.2009
Сообщений: 52
01.04.2015, 17:16 2
Windows Batch file
1
2
@echo off
FOR %%f IN (*.exe *.asc) DO ECHO %%f >> list_files.txt
Сохраняй в bat и закидывай куда надо.
1
1748 / 353 / 41
Регистрация: 15.10.2012
Сообщений: 550
02.04.2015, 11:30 3
Цитата Сообщение от krit Посмотреть сообщение
*.exe *.asc
Это в какой же системе asc исполняемые файлы?
0
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 10
02.04.2015, 11:45  [ТС] 4
ну эксешники выводит и на том спасибо
0
1748 / 353 / 41
Регистрация: 15.10.2012
Сообщений: 550
02.04.2015, 11:51 5
Лучший ответ Сообщение было отмечено ComSpec как решение

Решение

Все расширения из PATHEXT
Windows Batch file
1
2
3
4
@echo off
set exts=%pathext:;= %
set exts=%exts:.=*.%
for %%f in (%exts%) do echo %%f >> list_files.txt
1
0 / 0 / 0
Регистрация: 24.04.2016
Сообщений: 4
13.03.2017, 16:51 6
Добавлено через 3 минуты
Цитата Сообщение от Smitis Посмотреть сообщение
Все расширения из PATHEXT
Windows Batch file
1
2
3
4
@echo off
set exts=%pathext:;= %
set exts=%exts:.=*.%
for %%f in (%exts%) do echo %%f >> list_files.txt
А можно пожалуйста поподробнее: что происходит во 2, 3 и 4 строке (особенно в 3)
0
4336 / 2126 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
13.03.2017, 18:32 7
Цитата Сообщение от Msiter Sugar Посмотреть сообщение
особенно в 3
чтобы расширениям не было грустно, а for искал и выдавал имена - их-то мы и навязываем в виде * (согласны на любое, лишь бы было)

Добавлено через 5 минут

Не по теме:

Да и 2ю и 3ю строки можно было и в одну зарулить: set exts=%pathext:.=*.%

1
1748 / 353 / 41
Регистрация: 15.10.2012
Сообщений: 550
14.03.2017, 21:00 8
Цитата Сообщение от alpap Посмотреть сообщение
Да и 2ю и 3ю строки можно было и в одну зарулить: set exts=%pathext:.=*.%
В принципе, да. Точка с запятой тоже как разделитель в for воспринимается

Цитата Сообщение от Msiter Sugar Посмотреть сообщение
А можно пожалуйста поподробнее: что происходит во 2, 3 и 4 строке (особенно в 3)
Преобразуем значение переменной PATHEXT, содержащей расширения исполняемых файлов и скриптов вида .exe;.com;.bat;.cmd в *.exe;*.com;*.bat;*.cmd
Команда for получает список масок и ищет соответствующие файлы.
0
4336 / 2126 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
15.03.2017, 02:39 9
Цитата Сообщение от Smitis Посмотреть сообщение
В принципе, да
это правильно, что в принципе, потому как начало подхода правильное и действительно надо по уму использовать две строки с расчетом на то что расширения (в принципе) существуют с пробелом и код был бы таким:
Windows Batch file
1
2
3
4
5
@echo off
set "exts=%pathext:.=*.%"
set "exts=%exts:;=";"%"
for %%f in ("%exts%") do echo %%~f >> list_files.txt
exit
но так как расширений именно исполняемых файлов с пробелом не бывает, поэтому достаточно и одной строки:
Windows Batch file
1
2
3
4
@echo off
set "ext=,0xe,73k,89k,a6p,acr,actm,ahk,air,apk,app,arscript,asb,awk,azw2,ba_,bat,beam,bin,celx,cgi,cmd,cof,coffee,com,csh,cyw,dek,dld,dmc,ds,dxl,e_e,ebm,ebs,ebs2,ecf,eham,elf,es,esh,ex_,ex4,exe,exe1,exopc,ezs,ezt,fas,fky,fpi,frs,fxp,gadget,gpe,gpu,hms,hta,icd,iim,inx,ipa,ipf,isu,jar,js,jse,jsx,kix,lo,ls,m3g,mcr,mel,mem,mio,mpx,mrc,ms,msl,mst,mxe,n,nexe,obs,ore,otm,paf,pex,phar,pif,plsc,plx,prc,prg,ps1,pvd,pwc,pyc,pyo,qit,rbx,rfu,rgs,rox,rpj,rxe,s2a,sbs,scar,scb,scr,script,sct,shb,shs,spr,tcp,tlb,tms,u3p,udf,upx,vb,vbe,vbs,vbscript,vdo,vexe,vlx,wcm,widget,wiz,wpk,ws,wsf,xap,xbap,xqt,xys,zl9"
for %%f in (%ext:,=,*.%) do echo %%f >> list_files.txt
exit
0
0 / 0 / 0
Регистрация: 24.04.2016
Сообщений: 4
15.03.2017, 17:26 10
Цитата Сообщение от Smitis Посмотреть сообщение
В принципе, да. Точка с запятой тоже как разделитель в for воспринимается


Преобразуем значение переменной PATHEXT, содержащей расширения исполняемых файлов и скриптов вида .exe;.com;.bat;.cmd в *.exe;*.com;*.bat;*.cmd
Команда for получает список масок и ищет соответствующие файлы.
А можно поподробнее про саму пунктуацию, непонятно для чего используется сочетание знаков :;= и :.=*.
Или может быть дадите ссылку на ресурс, чтобы разобраться в этой теме, буду благодарен
0
Любознательный
6546 / 1913 / 333
Регистрация: 10.03.2016
Сообщений: 4,355
15.03.2017, 17:48 11
Цитата Сообщение от Msiter Sugar Посмотреть сообщение
можно поподробнее
Windows Batch file
1
set /?
0
15.03.2017, 17:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2017, 17:48
Помогаю со студенческими работами здесь

Вывод всех файлов и поддиректорий в заданной директории (добавить в код ввод директории)
.586p .model flat, stdcall std_output_handle equ -11 std_input_handle equ -10 extern...

Замена части определённой строки во всех текстовых файлах заданной директории
Доброго день. Необходима помощь в написании bat, который бы заменил во всех файлаx (.txt) в...

Вывод всех файлов в заданной директории
Здравствуйте, написал код, но почему-то не рабоатет #include<iostream> #include<stdio.h>...

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru