Мне нужно переименовать все эти файлы в 6-значный номер детали (306391) на третьей строке.Разбор и переименование текстовых файлов
В настоящее время у меня есть:
setlocal enabledelayedexpansion
set first=1
for /f "skip=3 delims= " %%a in (Name.txt) do (
if !first! ==1 (
set first=0
echo %%a > out.txt
ren Name.txt %%a.txt
)
)
, который находит 6-значный номер детали и переименовывает файл на правильное имя. Но ломается, если я использую * .txt вместо фактического имени .txt-файла. Мне нужно, чтобы он работал для всех .txt-файлов в каталоге.
Так в основном для% % I in (* .txt) do ( for/f "skip = 3 delims =" %% a in ("%% ~ fI") do ( if! First! == 1 ( set first = 0 ren "%% ~ FI" %% a.txt Кажется, что я не делаю никаких файлов для меня. – Amk2539
Почти. При дальнейшем осмотре ваш скрипт нуждался в других трюках. Я перевел свой комментарий на ответ. Отличный первый вопрос, кстати! Это освежает, когда новый участник фактически отправляет код, а не говорит: «Напишите сценарий для меня. Это то, что мне нужно, чтобы это делать». Рад, что вы этого не сделали. ':)' – rojo