Есть папка с подпапками:
---main
--- ru
--- dir
---index.html
Следующий скрипт (geo.cmd) копирует директории RU и переименовывает нужные (ag, am и т.д.):
@echo off
chcp 65001
for %%l in (ag am) do (
xcopy /E /I /Q /Y ru %%l
)
Мне нужно в цикле переименовать файл index.html в index_ag.html, index_am.html и так далее. Для этого использую строку -
ren %%l\dir\index.html index_%%l.html
@echo off
chcp 65001
for %%l in (ag am) do (
xcopy /E /I /Q /Y ru %%l
ren %%l\dir\index.html index_%%l.html
)
Но проблема в том, что папка
dir
может называться по разному. Поэтому мне нужно получить название дочерней папки (dir), и уже потом переименовывать файл. Как мне можно получить название дочерней папки? Пытаюсь использовать команду dir, но не могу понять, как получить дочернюю папку.
----------------------------
UPDATE:
В итоге получение дочерней директории сделал так. Правильное ли это решение?
@echo off
chcp 65001
for /f "delims=" %%a in ('dir ru /b') do (
echo %%a
set dir=%%a
)
for %%l in (ag am) do (
xcopy /E /I /Q /Y ru %%l
ren %%l\%dir%\index.html index_%%l.html
)
----------------------------
Также в каждом файле index.html нужно заменить строку
<html lang="ru">
на строки
<html lang="en">
для AG и
<html lang="hy">
для AM. Какая команда используется для замены текста?