#loops #batch-file #search #recursion
#циклы #пакетный файл #Поиск #рекурсия
Вопрос:
У меня много тысяч файлов во всеобъемлющей, но единой структуре папок и вложенных папок. До сих пор я решал проблему, вводя конкретные адреса папок, но это слишком громоздко для завершения.
Я хочу заменить адреса, заключенные в ???? ???? (которых, естественно, нет в конечном коде) с циклом, который рекурсивно выполняет поиск в структуре и возвращается на уровень под-директории. Я знаю, что???? должно быть исключено в конечном коде. Он закодирован как файл .bat. Текстовые файлы разделены табуляцией. Имя папки с идентификатором и днем изменяется, в то время как main и sub остаются постоянными.
*** Copy ABC files to ABC folder
xcopy ???"c:mainsubiddayABC_*.txt" "c:mainsubiddayABCs"??? /y
*** Adding filepath to file
@ECHO OFF
for /R ????"c:mainsubiddayABCs"???? %%i IN (ABC_*.txt) DO (
ECHO "%%~fni" > "%%~fni".txt
ECHO. >> "%%~fni"
ECHO. >> "%%~fni"
type "%%~fni" >> "%%~fni".txt
del "%%~fni"
ren "%%~fni".txt *.
)
*** Creation of one ABC file and copy of single ABC files to other directory
copy /b ???"c:mainsubiddayABC_*.txt"??? ???"c:maincompleteXXXX.txt"???
the XXXX.txt file has to take the name of the folder in path named id
*** Deleting temporary files
@echo off
RD /s /q ????"c:mainsubiddayABCs"????
спасибо за вашу помощь
Комментарии:
1. Я не понимаю. Почему бы вам просто не использовать FOR /R для всей структуры? Можете ли вы пояснить некоторые примеры структур папок и файлов? Что вы на самом деле пытаетесь сделать (конечная цель)?
2. @hatiw иногда приятнее, если вы покажете, что у вас есть и что вам нужно, потому что вы можете выбрать неправильный путь
3. Моя конечная цель — найти и добавить все файлы, начинающиеся с ABC_1.txt , ABC_2.txt , ABC_3.txt и т.д. из многих папок в одну. У каждого файла должно быть полное имя пути, включенное в первую строку текстового файла.
4. Поскольку я не хочу изменять исходные данные, я копирую ABC_.txt файлы в новый каталог, из которого я включаю имя файла, прежде чем добавлять их в один файл. После их добавления я удаляю временную папку с ABC_.txt файлы с полным путем, включенным в первую строку. На самом деле у меня есть то, что мне нужно, но этот метод не подходит для более масштабной предстоящей работы, которую я должен выполнить.