Я должен составлять квартальный отчет, используя импортированные файлы .csv, которые мы извлекаем из iAuditor.
Все эти CSV-файлы представлены в следующем формате:
BOW 25-063 - - 2017-12-21.csv
(«BOW» - это название здания, пятизначная строка - этаж + номер комнаты)
или
RMP 1108 - - 2017-12-21.csv
(опять же, «RMP» = здание / 1108 = номер 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 имен файлов.
Ищите твик для сокращения имени по мере необходимости, оставляя один пробел между зданием и номером этажа / комнаты.
источник
Ответы:
Вы можете использовать дополнительную строку кода, используя метод вставки, чтобы вернуться назад и выполнить добавление пробела после 3-го символа в только что отформатированных именах файлов после выполнения первой команды, которую вы уже используете.
инструкции
Запустите свой оригинальный PowerShell сначала еще
Результат
BOW25-063.csv
Запустите PowerShell, чтобы добавить пробел после третьего символа имени файла.
Результат
BOW 25-063.csv
Дополнительные ресурсы
источник