1

Мне нужно составлять квартальный отчет, используя импортированные файлы .csv, которые мы извлекаем из iAuditor.

Все эти файлы .csv имеют следующий формат:
BOW 25-063 - - 2017-12-21.csv («BOW» - это название здания, пятизначная строка - «этаж + номер комнаты»)
или же
RMP 1108 - - 2017-12-21.csv (опять же, «RMP» = здание / 1108 = Rm 08 на 11-м этаже)

Мне нужно просто обрезать это до названия здания, пространства, этажа + комната #
Итак: BOW 25-063.csv
или RMP 1108.csv

У меня есть короткий сценарий, который выполняет большую часть работы, но также занимает пространство между зданием и номером комнаты:

Get-ChildItem 'H:\csv Files\Testing' -filter *.csv | rename-item -NewName { $_.name.substring(0,$_.BaseName.length-15) + $_.Extension-replace " ","" }

Там более 100 комнат, поэтому мне нужно переименовать более 100 файлов, чтобы их можно было импортировать в файл .xlsx для составления отчетов.

Все они должны следовать установленному нами соглашению об именах, чтобы не допустить ошибок, и мне не нужно вручную настраивать более 100 имен файлов.

Ищите твик для сокращения имени по мере необходимости, оставляя один пробел между зданием и номером этажа / комнаты.

1 ответ1

1

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


инструкции

  1. Запустите свой оригинальный PowerShell сначала еще

    Get-ChildItem 'H:\csv Files\Testing' -filter *.csv | 
    rename-item -NewName { $_.name.substring(0,$_.BaseName.length-15) + $_.Extension-replace " ","" }
    

    Результат

    BOW25-063.csv


  1. Запустите PowerShell, чтобы добавить пробел после третьего символа имени файла.

    Get-ChildItem 'H:\csv Files\Testing' -filter *.csv | 
    rename-item -NewName {$_.BaseName.insert(3,' ') + $_.Extension}
    

    Результат

    BOW 25-063.csv


Дополнительные ресурсы

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .