Извлечь все файлы .img из подкаталогов - PullRequest
0 голосов
/ 23 октября 2019

У меня есть каталог с некоторыми подкаталогами с именем * .data, который содержит файл с именем Ratio.img, файл с именем Ratio.hdr и каталог vector_data.

Это мои настройки: dir:

-ABC.data/-Ratio.img
    /-Ratio.hdr
    /-vector_data

-DEF.data/-Ratio.img
    /-Ratio.hdr
    /-vector_data

Я хочу, чтобы решение командной строки взяло Ratio.img из каждого подкаталога, переименовало его в имя подкаталога (без .data) и переместило его в сам каталог.

Я попробовал кое-что найти в .img изображения и переместить их, но мне не удалось включить переименование в имя файла.

# Unfortunately all those .img file are named Ratio, so they ask me to overwrite, what I clearly do not want to.
FOR /R %G in ("*.img") DO Move "%G" "G:\GRD_TEst\Products"

#I tried Renaming the Ratio.img-files, since I think I could work with them even if they are named blah.data.img
FOR /D %G in ("*.data") DO Rename "G:\GRD_TEst\Products\"%G"\Ratio.img" "G:\GRD_TEst\Products\"%G"\"%G".img"


# I also tried some "nesting" of for loops, but this did not lead to the output I wanted, basically create the path to my Ratio.img-File

for /D %G in (.data) do 
    FOR /D %X in ("Ratio.img") DO echo %G\%X

Я ожидаю, что результат будет похож на dir:

-ABC.img
-ABC.data/Ratio.hdr
    /vector_data
-DEF.img
-DEF.data/Ratio.hdr
    /vector_data

1 Ответ

0 голосов
/ 23 октября 2019

Я мог бы найти решение (я должен воспроизвести свои файлы Ratio.img, так как я не делал резервные копии :()

`for /D %%G in ("*.data") do (
    FOR /D %%I in (Ratio.img) DO Rename G:\GRD_TEst\Products\%%G\%%I %%G.img
    FOR /D %%H in (Ratio.hdr) DO Rename G:\GRD_TEst\Products\%%G\%%H %%G.hdr)`

Это не сработало, оно переименовало файлы, но яих нельзя использовать таким образом, они не могут быть импортированы в ArcMap. Перемещение будет выполнено на 2-м шаге.

РЕДАКТИРОВАТЬ: После переименования .hdr, наконец, я могу импортировать данные в ArcMap, я обновилфрагмент кода выше для моего окончательного решения.

...