|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - найти файлы по расширению, имя файлов передавать на исполнение |
|
CMD/BAT - найти файлы по расширению, имя файлов передавать на исполнение
|
Новый участник Сообщения: 16 |
Профиль | Отправить PM | Цитировать
Всем привет!
Просьба помочь в решении задачки. Есть код: setlocal enabledelayedexpansion SET "ifile=%~1" SET "tfile=%~d1%~p1%~n1.dcbank" set "Block_end=0" if not exist "!ifile!" echo File !ifile! not found&pause&exit /b IF EXIST "!tfile!" type nul>"!tfile!" FOR /F "usebackq delims=" %%a IN ("!ifile!") DO ( set "line=%%a" rem конец блока следующий пропускаем if !Block_end! equ 1 ( set "Block_end=0" echo.>>"!tfile!" ) else ( IF /i "!line!"=="-}" ( set "Block_end=1" <Nul Set /P $V=!line!>>"!tfile!" ) else ( echo !line!>>"!tfile!" ) ) ) Просьба помочь дополнить. Необходимо в папке, например С:\1 найти файлы с расширение txt и передать имя в мой код. Полсе обработки в папке с:\1\2 должен получиться файл с раширением dcbank. В данный момент имя вводится вручную Заранее блгдрю |
|
Отправлено: 13:02, 05-03-2015 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать orgia, посмотрел Вашу предыдущую тему. Вы так и не прислушались к мудрым советам: ;
Цитата megaloman:
|
|
Отправлено: 21:29, 05-03-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать Спасибо за справедливую критику
setlocal enabledelayedexpansion SET "ifile=%~1" SET "tfile=%~d1%~p1%~n1.dcbank" set "Block_end=0" if not exist "!ifile!" echo File !ifile! not found&pause&exit /b IF EXIST "!tfile!" type nul>"!tfile!" FOR /F "usebackq delims=" %%a IN ("!ifile!") DO ( set "line=%%a" rem конец блока следующий пропускаем if !Block_end! equ 1 ( set "Block_end=0" echo.>>"!tfile!" ) else ( IF /i "!line!"=="-}" ( set "Block_end=1" <Nul Set /P $V=!line!>>"!tfile!" ) else ( echo !line!>>"!tfile!" ) ) ) В данном батнике я разбираю входящее сообщение, который разделен на блоки. между блоками символ $. например: {jdkjdkj lsdfnlsd sdlksdlk sdnjdsljk -} $ {efso sfdjnfllkfd ljkfdij -} необходимо строку со знаком $ удалить. батник удаляет, но переменную в виде файла подаю вручную. Хотелось бы. Чтобы батник искал в любой папке сообщения с расширением .txt открывал его анализировал, удалял $ и переносил полученный результат в файл с тем же именем, но расширением например .out Как то так. |
Отправлено: 09:12, 06-03-2015 | #3 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать Цитата orgia:
orgia, спасибо за понимание. Теперь могу Вам и короткий код предложить: @echo off set "indir=%~1" set "inext=.txt" set "outdir=%indir%\out" set "outext=.dcbank" ( for /f "delims=" %%i in ('2^>nul findstr/m \-} "%indir%\*%inext%"') do ( 2>nul md "%outdir%" findstr/v ^^\$ "%%i">"%outdir%\%%~ni%outext%" ) )|| (echo The necessary files are not found.& pause>nul) exit/b . orgia, перетаскивайте любую папку с обрабатываемыми файлами с расширением ".txt" на пакетный файл, и, если нужные файлы будут найдены, в этой папке будет создан каталог "out", в котором и будут находиться полученные файлы с расширением ".dcbank". |
|
Последний раз редактировалось Georgio, 06-03-2015 в 17:51. Отправлено: 16:11, 06-03-2015 | #4 |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать Спасибо за предложенный вариант. Батник не отрабатывает. Запускаю батник, кидаю в окно папку с файлом, окно закрывается. Папка out не создается и никаких следов работы батника не обнаруживается. ОС win7 64бит.
|
|
Отправлено: 06:25, 10-03-2015 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Как найти в архиве тестовые файлы по содержимому, а не по расширению? | yaoleg2 | Скриптовые языки администрирования Windows | 0 | 04-01-2013 15:18 | |
CMD/BAT - [решено] открытие файлов по расширению (не по имени) | 9119 | Скриптовые языки администрирования Windows | 1 | 17-12-2012 10:52 | |
CMD/BAT - Сортировка файлов по расширению | cyber_ua | Скриптовые языки администрирования Windows | 9 | 07-10-2012 23:16 | |
Запрет записи файлов на сетевые ресурсы по расширению | Arkan190 | Microsoft Windows NT/2000/2003 | 6 | 20-06-2011 10:58 | |
Запрет на файлы по расширению | adba | Microsoft Windows NT/2000/2003 | 5 | 06-08-2008 11:57 |
|