Базовый каталог: каталог, в котором находится ваш входной файл
$dir_path='C:\Users\some-directory\'
Имя входного файла (для целей тестирования я использовал расширение .txt вместо .pdf)
$input_file_name='1.a First_DAY_Office.txt'
Получить Подробности имени файла с путем
$input_file_name_with_path = $dir_path + $input_file_name
Получить имя файла без расширения
$File_Name=(Get-Item $input_file_name_with_path).Basename
Разделить строку на основе подчеркивания ('_'), чтобы получить '1.a First', 'DAY 'and' Office '
$1_a_first,$day,$office=$File_Name.split('_')
Теперь разделите строку на пробел, чтобы получить -> 1.a и First
$1_a,$first=$1_a_first.split('')
Конвертировать DAY в Day
$day_after_conversion = $day.substring(0,1).toupper()+ $day.substring(1).tolower()
Затем создайте новую папку, если она не существует в соответствии с вашими требованиями, а затем скопируйте файл:
$folder_to_be_created = $first +'\'+ $day_after_conversion
$destination_path = $dir_path + $folder_to_be_created
If(!(test-path $path))
{
New-Item -ItemType Directory -Force -Path $path
Copy-Item $input_file_name_with_path -Destination $destination_path
}
else
{
Copy-Item $input_file_name_with_path -Destination $destination_path
}
Пожалуйста, дайте мне знать, если это помогло вам.