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

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

Ответить
Настройки темы
CMD/BAT - [решено] Скопировать названия файлов из папки и добавить символ в конец названия

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


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

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


Всем привет!
Есть задача, необходимо составить список файлов в определенной папке и записать в файл, но при этом в конец имени (после расширения) каждого файла необходимо добавить символ "=". Т.е. необходимо получить:
Файл1.txt=
Файл2.txt=
Файл3.txt=

Список файлов я копирую в файл, но вот как добавить там в каждую строчку символ "=", не могу сообразить.
Копирую следующим кодом:

@echo off
setlocal

set "list="D:\ini\docs""

for %%i in (%list%) do 1>>list.txt dir /b /a "%%~i\*.*"

Отправлено: 18:27, 16-08-2012

 

Старожил


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

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


Код: Выделить весь код
For /F "delims=" %%A In ('Dir "D:\Temp\*" /A-D /B') Do (Echo %%~A=)>>file.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:48, 16-08-2012 | #2



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

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


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


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

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


Anonymоus,
То, что надо! Спасибо большое!
А можно немного усложнить задачу? Скажем есть несколько папок, в них лежат файлы,можно проделать все тоже самое, т.е. скопировать имена файлов в один файл, но разделить их именами папок в которых они находятся, причем не просто разделить, а скажем сопоставить короткому имени папки, другое длинное слово? Например:
Есть четыре папки: ds, she, bs и exch и в них есть файлы. Необходимо сопоставить каждому имени папки новое название и создать структуру. Т.е.

bs=[backs_create]
ds=[docserver_create]
she=[scheduler_create]
exch=[exchange_create]

Надо чтобы создался один текстовый файл в котором будет следующая структура:

[backs_create]
File1=
File2=
File3=

[docserver_create]
File1=
File2=
File3=

[scheduler_create]
File1=
File2=
File3=

[exchange_create]
File1=
File2=
File3=

Последний раз редактировалось kiber31, 17-08-2012 в 07:54.


Отправлено: 06:58, 17-08-2012 | #3


Старожил


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

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


kiber31, конечно можно. Путь (как абсолютный так и относительный) и его буквенный алиас задаются сверху скрипта.
Код: Выделить весь код
@Echo Off

:: Здесь задаются папки и соответствующие им обозначения в формате
:: путь#обозначение
Set @Path1=D:\Projects\Proxy\parser\bin#Proxygrabber
Set @Path2=D:\Projects\GAE\webdav#Storage
Set @Path3=D:\Software\Perl\bin#Perl5
Set @Path4=D:\FOnline SDK\Tools\Mapper#Fallout map editor

:: Удаляем старый список, если есть
Del "filelist.log" 2>nul
:: Перебираем все заданные выше пути, выделяя из них нужное
For /F "tokens=2,3 delims=#=" %%A In ('Set @Path') Do (
	rem Добавляем начало секции
	>>"filelist.log" Echo [%%B]
	rem Создаем листинг файлов
	For /F "delims=" %%C In ('Dir "%%A\*" /A-D /B') Do (Echo %%C=)>>"filelist.log"
	rem Отделяем следующую секцию пустой строкой
	>>"filelist.log" Echo.
)
Pause&Exit

Последний раз редактировалось Anonymоus, 17-08-2012 в 13:18.

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

Отправлено: 13:09, 17-08-2012 | #4


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


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

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


Anonymоus, все вроде работает, только кроме одного момента, имя секции пустое, т.е. просто скобки [] и все. Может ты делал это под другую структуру папок ? Тогда возникает вопрос под какую ?)

Отправлено: 13:56, 17-08-2012 | #5


Старожил


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

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


kiber31, сверху ведь указаны пути, естественно, что я тестировал их на своей структуре папок.
То есть, тебе нужно взять к примеру, первую строку:
Код: Выделить весь код
Set @Path1=D:\Projects\Proxy\parser\bin#Proxygrabber
Заменить "D:\Projects\Proxy\parser\bin" на свой путь, к примеру "data\bs" (обязательно без слэша на конце), после пути поставить знак "#" и написать имя алиаса - т.е. то, что пойдет в [скобки].
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:00, 17-08-2012 | #6


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


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

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


Anonymоus, Ааа, ступил, все заработало! Супер!! Ты гений!! Спасибо тебе огромное!!!!

Отправлено: 14:04, 17-08-2012 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Транслитерация названия файлов Kursor_kvk Хочу все знать 3 01-02-2012 11:20
Инфо - Шрифт названия конкретной папки в проводнике. Как??? rubric3 Оформление Windows 11/ 10 / 8 / 7 / Vista 2 10-08-2010 23:10
CMD/BAT - Какой командой добавить в названия всех файлов в папке определенный префикс? eugrus Скриптовые языки администрирования Windows 1 14-04-2010 23:00
замена названия всех файлов Malfatto Хочу все знать 4 14-11-2008 16:37
Интерфейс - Изменение названия новой папки fedoseevka Microsoft Windows 2000/XP 2 10-07-2007 13:29




 
Переход