2014-01-14 2 views
0

У меня есть диск с большим количеством текстовых файлов, которые находятся в папках. Я пытаюсь сделать пакетный файл, который присоединяет некоторый текст в последнюю часть каждого файл, как например:Пусть Batch Script выбирает файл на диске?

:LOOP 
    [I need the batch file to set a file name as %file% here] 
    echo Correct>>%file% 
    goto LOOP 

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

ответ

0

Это должно добавить сообщение в конце каждого файла .txt:

@echo off 
for /f "delims=" %%a in (' dir *.txt /b /s /a-d ') do >>"%%a" echo Correct 
+0

Он работает только для текстовых файлов в корневом каталоге диска (командный файл тоже есть), но эти файлы в папках не ... –

+1

Я добавил '/ s' для обработки подкаталогов. – foxidrive

0

Это однослойный. Вам даже не нужно петлю (это то, что for делает для вас):

for %%i in (*.txt) do @echo Correct>>"%%i" 
+0

Я создал папку и сопоставил его с помощью subst, но тестирование этого кода на cmd дало мне %% i в это время было неожиданным. –

+0

@ Hz.tiang использовать его в командной строке как один процентный знак '% i' вместо double' %% i' (двойной для использования в пакетных файлах) – Stephan

+0

Я думаю, что у нас было это обсуждение перед Стивеном с обработкой 'for' файлы несколько раз, и я становлюсь старым и мимо него. Ваш код отлично работает в этом случае - это когда создаются новые файлы, соответствующие файлу спецификаций, которые могут произойти. Моя вина. – foxidrive