@granus500

Есть код bat файла, чтобы переименовал все txt файлы в папке, заменяя имя на первую строку содержимого файла?

В папке есть много текстовых файлов с именами File001.txt, File002.txt и т. д. Со следующим содержанием
File001.txt
Содержание файла: Зимний вечер на даче
Нина Дедлова Полутьма. Ещё не поздно. Понедельник. Тишина. Говорят с зимою сосны. Воздух чистый и морозный… И на даче я одна.

File002.txt Содержание файла:
Приход зимы
Людмила Шишенина Пушистый снег – лебяжье покрывало, Сорока притоптала поутру. Узоры, покружив, нарисовала, И горделиво ходит по ковру. и т. д.

Нужен bat файл, чтобы переименовал все файлы в папке, заменяя имя на первую строку содержимого файла, например:
File001.txt
File002.txt
и т. д. Переименовывает в:

Зимний вечер на даче. txt
Приход зимы. txt
и т. д.

Windows

Или программа которая может.
  • Вопрос задан
  • 196 просмотров
Пригласить эксперта
Ответы на вопрос 2
@granus500 Автор вопроса
Решение:

Обновляется PowerShell

Пишется batch:

@echo off
powershell -executionpolicy bypass -command "Get-ChildItem -Filter '*.txt' | foreach {Rename-Item $_.FullName """$(Get-Content $_.FullName ^| Select-Object -First 1)$($_.Extension)"""}"
pause
exit

Решение cyberforum ru
Ответ написан
Комментировать
wisgest
@wisgest
Не ИТ-специалист
Например, как-то так собственными силами CMD:
for %%i in (file???.txt) do call :1 "%%i"
exit /b

:1
for /f "usebackq delims=" %%1 in (%1) do (
	ren %1 "%%1.txt"
	exit /b
)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы