У меня есть файлы JPEG в папке с именем последовательно: table1.jpg, table2.jpg, table3.jpg, ..., table11.jpgКак добавить число в переменную области RegEx в PowerShell?
Мне нужно сделать некоторую обработку на них в последовательном порядке, но Get-ChildItem
вернет это (даже с Sort
):
table1.jpg
table10.jpg
table11.jpg
table2.jpg
table3.jpg
...
Я хотел бы добавить 0
, чтобы получить их в правильном порядке:
table01.jpg
table02.jpg
table03.jpg
...
table11.jpg
Я попытался с помощью регулярных выражений с этой командой для предварительного просмотра новые имена:
Get-ChildItem | % { $_.Name -replace "(.*[^0-9])([0-9]{1}\.jpg)",'$10$2' }
Идея заключается в том, чтобы получить первую часть имени без каких-либо цифр в первой области, и одна цифры плюс расширение во второй области. Это исключает файлы с двумя цифрами. И тогда я могу заменить на: первую область + 0 + вторую область.
Моя проблема в том, что «0» рассматривается как 10 долларов США вместо $ 1 + «0», я не знаю, как это сказать.
Какой будет правильный синтаксис? Я попытался "$ 10 $ 2", "$ 1 \ 0 $ 2", "$ 1`0 $ 2", '$ 1 "0" $ 2'
Это точно я пропустил, фигурные скобки. Спасибо за указание \ D и \ d. Благодаря! Ответа на этот вопрос ojk также очень интересно. Оба решения проблемы. – LoTus
Вы должны пересмотреть любые ответы, которые помогли вам или предоставили хорошую информацию. Таким образом, вы можете дать @ojk некоторый кредит тоже. –
Я бы хотел, и я попробовал, но у меня пока нет достаточной репутации. – LoTus