Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 70
1

Вывод в текстовый файл полного пути и размера каждого файла

05.10.2015, 09:24. Просмотров 3388. Ответов 12
Метки нет (Все метки)

Приветствую!

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

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
@echo off
chcp 65001
SetLocal EnableExtensions
 
Set FDir=
 
set "Maska=*"
 
FOR /R %FDir% %%i IN (%Maska%) DO >>"files.txt" echo %%i
 
exit/b
Вот с поиском вроде разобрался, а вот с размером нет...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2015, 09:24
Ответы с готовыми решениями:

Записать свойства каждого файла в одноимённый текстовый файл
Доброго времени суток, уважаемые форумчане! Подскажите, пожалуйста, как реализовать следующую...

Получение полного пути файла
Добрый день. Можно ли из структуры FILE_OBJECT получить полный путь файла (без сокращений с...

Отделить название файла от полного пути
Да-да, уже есть много тем, но ничего нормально не нашёл, вот, что имеется: Путь:...

Выделение типа файла из полного пути
Всем привет! У меня есть полный путь к файлу, допустим этот: "C:\Users\User\Pictures\Image.jpg" ...

12
3632 / 1855 / 609
Регистрация: 26.04.2015
Сообщений: 6,157
05.10.2015, 13:37 2
Shkiperr88, размер
Windows Batch file
1
echo %%~zi
.
0
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 70
05.10.2015, 16:29  [ТС] 3
Цитата Сообщение от alpap Посмотреть сообщение
Windows Batch file
1
echo %%~zi
А в какое место вставить, чтобы и в файле прописывалось, вот это не пойму(( ?
0
3632 / 1855 / 609
Регистрация: 26.04.2015
Сообщений: 6,157
05.10.2015, 16:34 4
Windows Batch file
1
FOR /R %FDir% %%i IN (%Maska%) DO >>"files.txt" echo %%i& echo %%~zi
Добавлено через 3 минуты
Даже не посмотрел, у Вас неправильно, так делается:
Windows Batch file
1
FOR /R %FDir% %%i IN (%Maska%) DO echo %%i& echo %%~zi>>"files.txt"
.
1
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 70
05.10.2015, 16:37  [ТС] 5
Цитата Сообщение от alpap Посмотреть сообщение
Windows Batch file
1
FOR /R %FDir% %%i IN (%Maska%) DO >>"files.txt" echo %%i& echo %%~zi
Так выводится в командную строку, а в файл не пишется

Добавлено через 3 минуты
А так
Цитата Сообщение от alpap Посмотреть сообщение
Windows Batch file
1
FOR /R %FDir% %%i IN (%Maska%) DO echo %%i& echo %%~xi>>"files.txt"
в файл записываются только размеры файлов
0
3632 / 1855 / 609
Регистрация: 26.04.2015
Сообщений: 6,157
05.10.2015, 16:46 6
Сейчас проверил у себя, так пишет полный путь, а следом размер:
Windows Batch file
1
echo %%~i %%~zi>>"files.txt"
.
1
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 70
05.10.2015, 16:50  [ТС] 7
Вот оно))
Благодарю)) А не подскажите еще, когда файл с именами файлов существует, имена дописываются, а удобнее было бы чтобы как бы новый создавался файл "files"
0
Эксперт Python
4162 / 3056 / 1006
Регистрация: 28.10.2013
Сообщений: 7,934
05.10.2015, 17:00 8
В начале поставьте проверку на существование файла
Windows Batch file
1
if exist "путь\files.txt" del /f "путь\files.txt"
Если файл есть - он будет удален и запись будет вестись в новый файл.
Или вам что-то другое нужно?
0
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 70
05.10.2015, 17:35  [ТС] 9
Цитата Сообщение от Garry Galler Посмотреть сообщение
Или вам что-то другое нужно?
Нужно чтобы файл "files" перезаписывался
0
3632 / 1855 / 609
Регистрация: 26.04.2015
Сообщений: 6,157
05.10.2015, 18:58 10
Shkiperr88, Не знаю, правильно ли понял, так будет перезаписываться содержимое, будет в Вашем случае только запись последнего найденного файла:
Windows Batch file
1
echo %%~i %%~zi>"files.txt"
. Или надо чтобы каждый найденный файл записывался в свой лог - тогда уже надо делать files.txt, files1.txt и т.д.

Добавлено через 26 минут
Shkiperr88, Приблизительно понял что надо, но проще так:
Windows Batch file
1
2
3
4
5
6
7
...DO (
 set "files=%date%  %time:~0,-3%"
 set "files=!files::=. !"
 rem:>"!files!.txt"
 echo %%~i %%~zi>>"!files!.txt"
)
exit /b
.

Добавлено через 4 минуты
После каждой папки, где ищете идет запись в файл с датой и временем, после другой папки однозначно будет новый файл, если, конечно, только успеете эту процедуру сделать быстрее чем за секунду - то нет.
0
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 70
06.10.2015, 03:16  [ТС] 11
Цитата Сообщение от alpap Посмотреть сообщение
Приблизительно понял что надо, но проще так:
Нет, надо чтобы все пути найденных файлов писались в один файл "files"но при каждом новом запуске батника, этот файл перезаписывался, а не дописывался
0
3632 / 1855 / 609
Регистрация: 26.04.2015
Сообщений: 6,157
06.10.2015, 13:41 12
Shkiperr88, Тогда в посте 8 Garry Galler, дал ответ, чем не устраивает?
0
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 70
07.10.2015, 06:35  [ТС] 13
Все, всем спасибо)) Выбор пал на LogParser. С ним поставленная задача решается намного быстрее
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.10.2015, 06:35

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

Qt QFile Ввод полного пути файла
Суть задачи проста, но я не смогла найти решения: Есть editLine в который записывается полный путь...

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

Имя файла без полного пути
Вот такая беда procedure TForm1.MenuItem5Click(Sender: TObject);//загрузить схему в проект var ...

Выделить из полного пути имя файла
Задано строку, содержащую полное имя файла, то есть имя диска, список каталогов (путь), имя и...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.