В XP, как я переименовываю каталог файлов с помощью regex или подобный, чтобы удалить часть имени файла и добавить префикс?

У меня есть список файлов, сгенерированных от SSMS в XP как это:

dbo.mysproc1.StoredProcedure.sql
dbo.mysproc2.StoredProcedure.sql
dbo.mySproc3.StoredProcedure.sql
... you get the drift

Я хочу переименовать их к:

proc.dbo.mysproc1.sql
proc.dbo.mysproc2.sql
proc.dbo.mySproc3.sql
... you get the drift

Я открыт для powershell, простого пакета, или что бы то ни было. Если бы можно сделать это с regex, который был бы захватывающим, но безотносительно работ там также. Я хочу концы, не средства, да? Просто не уверенный, что команда использовать. Я, однако, не хочу загружать инструмент, чтобы сделать это. Собственный XP SP3.

Это - одноразовое задание, не что-то, чтобы быть заданным сценарием, если это имеет значение. Но я могу повторить, что это в будущем, настолько scriptable, не является плохая вещь.

1
задан 14.12.2010, 23:00

2 ответа

Поместите это в пакетный файл, это находится в том же каталоге и выполнено:

for /f "delims=. tokens=1,2,3,4" %%A IN ('dir /b *.sql') DO RENAME %%A.%%B.%%C.%%D proc.%%A.%%B.%%D

Это разделит имя файла "." символом с помощью %% через %% D переменные и затем переименует использование перестроенного имени файла.

4
ответ дан 12.12.2019, 07:53

Сырой сценарий PS для ударов:

gci | foreach { $f = $_; $split = $f.Name.Split("."); $n = [string]::join(".", "proc", $split[0], $split[1], "sql")); ren $f $n;}
4
ответ дан 12.12.2019, 07:53

Теги

Похожие вопросы