Я новичок в программировании или написании сценариев, поэтому надеюсь, что термины, которые я использую, будут правильными.
1. Я пытаюсь переименовать несколько файлов в нескольких папках.
2. Я не знаю имен папок, я могу знать только папки, в которых находятся эти подпапки, каждой папке назначается отдельная отметка времени и даты.
3. Я не знаю названия файлов, содержащихся в каждой папке.
4. В каждой из этих папок имена файлов точно такие же, как и в других папках.
5.Я знаю расширение файлов во всех папках - ".t"
Итак, что я пытаюсь сделать, это следующее:
Оригинальные файлы:
Имя папки: FolderA
"Log1000_1.1.1.1_Base.1.textlog.t"
"Log1000_1.1.1.1_Base.2.textlog.t"
Имя папки: FolderB
"Log1000_1.1.1.1_Base.1.textlog.t"
"Log1000_1.1.1.1_Base.2.textlog.t"
Желаемый результат:
Имя папки: 2015-02-19%3A224044
"Log1000_1.1.1.1_Base.1.2015-02-19%3A224044.textlog"
"Log1000_1.1.1.1_Base.2.2015-02-19%3A224044.textlog"
Имя папки: 1.2015-02-19%3A224060
"Log1000_1.1.1.1_Base.1.2015-02-19%3A224060.textlog"
"Log1000_1.1.1.1_Base.2.1.2015-02-19%3A224060.textlog"
И так далее...
Я пробовал следующий код:
cd C:\DataCollection\ClassOne
REM Creating a list of all folders
dir /b /a:d >>C:\DataCollection\ClassOne\tempfolderlist.txt
for /R /F "tokens=*" %%A in (C:\DataCollection\ClassOne\tempfolderlist.txt) do (
cd C:\C:\DataCollection\ClassOne\%%A
ren *.t *%%A.textlog
)
У меня есть 2 проблемы с приведенным выше кодом
- Цикл войдет только в папку, изменит 1 расширение файла (и только 1 файл) и оставит остальные файлы нетронутыми/неизмененными.
Я могу предположить, что это связано с тем, что цикл проходит по каждой строке txt-файла один раз.
2. По какой-то причине процесс переименования файла идет неправильно.
Выходной файл выглядит следующим образом:
"Log1000_1.1.1.2015-02-19%3A224044.textlog"
Пока должно выглядеть так:
Log1000_1.1.1.1_Base.1_2015-02-19%3A224044.textlog
Есть ли у кого-нибудь идеи или предложения, как исправить код или альтернативно предложить другой?
Спасибо вам всем