Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Поиск файлов по маске и сохранение в текстовый фай

Ответить
Настройки темы
CMD/BAT - Поиск файлов по маске и сохранение в текстовый фай

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: SilentTwilight
Дата: 07-03-2013
Описание: Пояснение
Сейчас веду поиск по форуму, но одновременно и задам вопрос (если что, тапками не пинайте).

Задача такая:

1. Запускается файл
2. В папке, где запущен файл, начинается поиск файлов по маске (*.smali). C подпапками
3. Все найденные файлы сохраняются в текстовый файл с папкой программы в определённом виде:
file.exe "C:\Files\File1.smali" "C:\Files2\File1.smali"
file.exe "C:\Files\File2.smali" "C:\Files2\File2.smali"


Возможно ли это?

Отправлено: 12:44, 07-03-2013

 

Ветеран


Contributor


Сообщения: 2721
Благодарности: 1692

Профиль | Отправить PM | Цитировать


Цитата:
Все найденные файлы файлы сохраняются в ...
Если делать копию а исходные оставить на месте
Код: Выделить весь код
xcopy /s /Y D:\Files\*.Smali D:\Files2\

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:06, 07-03-2013 | #2



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

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


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


не то. Список файлов сохраняется в файл в виде текста.

Отправлено: 14:08, 07-03-2013 | #3


Ветеран


Contributor


Сообщения: 2721
Благодарности: 1692

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
Set N1=D:\Files
Set N2=D:\Files2

FOR /R %N1% %%f IN (*.smali) DO (
	Set Name=%%f
	Echo file.exe "%%f" "!Name:%N1%=%N2%!"
)

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 07-03-2013 в 16:46.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:24, 07-03-2013 | #4


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вот! Уже намного ближе к истине!

Отправлено: 17:36, 07-03-2013 | #5


Новый участник


Сообщения: 1
Благодарности: 1

Профиль | Отправить PM | Цитировать


Я себе на пару нечто подобное делал, может поможет))
PHP код: Выделить весь код

@Echo off
:m1
Echo Выберите способ представления оглавления:
Echo.
echo 
По времени создания (Возрастание)
echo 
Убывание
echo По размеру (Возрастание)
echo 
Убывание
echo - exit 
echo.
Set /p choice=Ваш выбор
chcp 1251
if "%choice%"=="1" dir //od //*.doc *.txt >1.txt
if "%choice%"=="2" dir //o-//a  *.doc *.txt >2.txt
if "%choice%"=="3" dir //os //*.doc  *.txt >3.txt
if "%choice%"=="4" dir //o-//*.doc  *.txt >4.txt
if "%choice%"=="5" exit /b
if "%choice%"=="%" echo error
Echo.
:
error
cls
goto m1
Echo. 

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:54, 31-03-2013 | #6


Пользователь


Сообщения: 148
Благодарности: 39

Профиль | Сайт | Отправить PM | Цитировать


Skif-N1, не моможет.
+ у Вас в примере лишний знак % здесь - "%".

-------
Alex Dragokas


Отправлено: 10:02, 02-04-2013 | #7


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Супер! примерно это и нужно для начала
Вернее, строка

Код: Выделить весь код
dir /b /od /s /a  *.txt >1.txt
В текстовый файл записывается именно то, что нужно - просто список файлов с полным именем!

Далее буду собирать из других частей

Отправлено: 12:13, 04-04-2013 | #8


Ветеран


Contributor


Сообщения: 2721
Благодарности: 1692

Профиль | Отправить PM | Цитировать


SilentTwilight, Оказывается, в моём примере я забыл сделать вывод в файл, а Вы вразумительно мне не возразили
Код: Выделить весь код
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
Set N1=D:\Files
Set N2=D:\Files2
Set Out=D:\Smali.kuku

Del %Out% >nul 2>nul

FOR /R %N1% %%f IN (*.smali) DO (
	Set Name=%%f
	Echo file.exe "%%f" "!Name:%N1%=%N2%!" >>%Out%
)

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 13:17, 04-04-2013 | #9


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


megaloman, твой способ очень хорош, но сохранение в файл мне уже не надо Сделал сразу вызов...
Итак...
Завтра буду проверять и расширять функционал. Итак, вот что сейчас:
PHP код: Выделить весь код

@Echo off

SetLocal EnableExtensions EnableDelayedExpansion
chcp 1251

Echo Делаем копию папки
xcopy 
//Y smali*.Smali smali2

Echo Делаем декодирование
Set N1
=smali
Set N2
=smali2
Set Java
=%programfiles%Javajdk1.7.0_11bin

FOR /%N1% %%f IN (*.smali) DO (
    
Set Name=%%f
    
echo Encoding"%%f"
    "%Java%\native2ascii.exe" 
-reverse -encoding utf-"%%f"         "!Name:%N1%=%N2%!"
)

pause 

Теперь всё, вроде, работает.
Дело в том, что файлы smali с не латинским шрифтом (я перевожу китайские программы для Андроида) зашифрованы в другой кодировке (в виде \uХХХХ) и для декодирования есть только 2 программы - стандартная явовская консольная утилита и BabelPad. Обе утилиты неудобны.
Этот модуль декодирует все строки, где есть текст \uХХХХ в нормальный шрифт. Далее я могу спокойно сравнить файлы (изменены будут только нужные текстовые строки) и перевести на русский. А, поскольку декодирование происходит в UTF-8, шифровка не требуется )))

Отправлено: 00:10, 05-04-2013 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Поиск файлов по маске и сохранение в текстовый фай

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Поиск файлов по маске и их замена другими. lexxstr Скриптовые языки администрирования Windows 0 20-12-2012 22:54
CMD/BAT - поиск и копирование файлов по списку-маске martyn_80 Скриптовые языки администрирования Windows 1 24-11-2012 14:47
Поиск слова в txt затем поиск по маске "(383)" и вывод инфы rustoss AutoIt 10 29-09-2011 15:27
CMD/BAT - [решено] Поиск файла по маске и по дате Баян Скриптовые языки администрирования Windows 2 14-03-2011 13:32
CMD/BAT - [решено] поиск файла по маске evilfelix Скриптовые языки администрирования Windows 11 23-09-2010 16:26




 
Переход