2016-02-12 1 views
0

Я изучал пакетное переименование файлов с помощью Powershell, и я сделал некоторый хороший прогресс. Проще говоря, я хочу удалить все лишние нули с начала моих файлов. До сих пор у меня есть папка с изображениями, названными как таковые:Переименование файлов с ненужными нулями в Powershell

0001_random_name.jpg 
0002_random_name.jpg 
0003_random_name.jpg 

Весь путь до 900 ~. Я создал сценарий Powershell, который берет первые четыре символа и добавляет расширение .jpg. Вот этот скрипт:

Get-ChildItem 'G:\InvaluableNumbered' | rename-item -newname { $_.name.substring(0,4) + ".jpg" } 

переименовывает файлы

0001.jpg 
0002.jpg 
0003.jpg 

Для этого проекта я должен назвать их

1.jpg 
2.jpg 
3.jpg 

Всю дорогу до 968.jpg. Есть ли способ использовать сценарий, который я написал, а затем еще одну команду, которая удаляет все 0s до того места, где она попадает на первое число больше нуля?

Спасибо за ваше время.

+2

'.TrimStart ('0') ' – PetSerAl

+0

Привет @PetSerAl, спасибо за быстрый ответ! Я не мог себе представить, что это было так просто, где бы я сказал это в коде, который у меня есть? –

+2

После значения вы хотите обрезать: '$ _. Name.substring (0,4) .TrimStart ('0')'. – PetSerAl

ответ

1

Вы можете использовать метод TrimStart строки для достижения желаемого результата:

$_.name.substring(0,4).TrimStart('0') 

Другая возможность может быть отлиты значение для [int], а затем обратно к [string]:

[string][int]$_.name.substring(0,4) 

 Смежные вопросы

  • Нет связанных вопросов^_^