|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Вывести файлы из директории в меню choice |
|
CMD/BAT - Вывести файлы из директории в меню choice
|
Новый участник Сообщения: 2 |
Здравствуйте, помогите пожалуйста, не могу разобраться. Как вывести файлы из директории в меню типа choice?
|
|
Отправлено: 05:21, 15-10-2014 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Примерно так:
@echo off set "dir=D:\Test" pushd "%dir%" for /f "delims=" %%i in ('dir /a-d/b 2^>nul') do ( set /a count+=1 for /f %%j in ('set /a count') do ( if %%j==10 ( echo В контексте данного решения нельзя отобразить более 9 файлов. goto # ) ) call set $%%count%%=%%i call set list=%%list%%%%count%% ) :# for /f "tokens=1* delims=$=" %%i in ('set $') do ( echo %%j -- %%i ) echo. choice /c %list% cls for /f "tokens=1* delims=$=" %%i in ('set $') do ( if %errorlevel%==%%i type "%%j" ) popd pause>nul exit /b . setdmg, в строке замените «D:\Test» на свою директорию и в строке замените «type "%%j"» на свою команду. |
Отправлено: 11:03, 15-10-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать благодарю
еще вопросик, как сделать после *if %errorlevel%==%%i type "%%j"* копирование файла имя которого такое-же как у выбранного но с другим расширением, для точности батник для быстрой компиляции и копирования допустим выбираем компилировать text.sp на выходе получаем text.smx и собственно как перенести test.smx? поиск по маске я знаю как сделать но как прикрутить это суда я не понимаю |
Отправлено: 11:23, 15-10-2014 | #3 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать @echo off set "dir=D:\Test" set "out=D:\Work" pushd "%dir%" ( for /f "delims=" %%i in ('dir /a-d/b 2^>nul') do ( set /a count+=1 for /f %%j in ('set /a count') do ( if %%j==10 ( call :# echo. goto ##### ) ) call set $%%count%%=%%i call set list=%%list%%%%count%% ) )|| ( call :## pause>nul goto :eof ) ( for /f "delims=." %%i in ('dir /a-d/b 2^>^&1 1^>nul') do ( if not defined var ( set var=%%i call :### set /p=""%%i""<nul ) else ( for /f "delims=" %%j in ('call echo "%%var%%"') do ( if not %%j=="%%i" ( set /p="; "%%i"."<nul echo. echo. goto ##### ) ) ) ) )&& ( set /p=.<nul echo. echo. ) :##### for /f "tokens=1* delims=$=" %%i in ('set $') do ( echo %%j -- %%i ) echo. choice /c %list% cls for /f "tokens=1* delims=$=" %%i in ('set $') do ( if %errorlevel%==%%i ( rem В низлежащей строке вместо «cmd /c "type "%%j">"%%~nj.smx""» должна быть Ваша команда для компиляции файла "%%j" в файл "%%~nj.smx". start "" /wait cmd /c "type "%%j">"%%~nj.smx"" md "%out%" 2>nul copy "%%~nj.smx" "%out%">nul&& ( call :#### "%%~nj.smx" "%out%" ) ) ) popd pause>nul exit /b :# chcp 1251>nul for /f "delims=" %%i in ("В контексте данного решения нельзя отобразить более 9 файлов.") do ( chcp 866>nul echo %%i ) exit /b :## chcp 1251>nul for /f "delims=" %%i in ("В директории "%dir%" отсутствуют файлы.") do ( chcp 866>nul echo %%i ) exit /b :### chcp 1251>nul for /f "delims=" %%i in ("Не все файлы могут быть отображены по причине(ам): ") do ( chcp 866>nul set /p=%%i<nul ) exit /b :#### chcp 1251>nul for /f "delims=" %%i in ("Файл %1 скопирован в директорию %2.") do ( chcp 866>nul echo %%i ) exit /b |
Отправлено: 20:32, 15-10-2014 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Блог - Как открывать файлы из контекстного меню с полными правами | Vadikan | Microsoft Windows 7 | 0 | 20-07-2011 10:30 | |
Блог - Как открывать файлы из контекстного меню в любой программе (Часть 1) | Vadikan | Microsoft Windows 7 | 0 | 18-07-2011 10:26 | |
CMD/BAT - Как вывести одинаковые по содержанию файлы из заданных директорий? | Lil Crazy | Скриптовые языки администрирования Windows | 5 | 23-05-2010 11:17 | |
[решено] Вывести все файлы и папки | morgan1991 | AutoIt | 6 | 18-03-2009 22:35 | |
$OEM$ директории - не копируются файлы | _Flame_ | Автоматическая установка Windows 2000/XP/2003 | 5 | 19-06-2007 11:58 |
|