Используя Powershell, создайте папку и поместите файл в эту папку согласно описанному ниже условию. - PullRequest
0 голосов
/ 14 января 2020

Файл с именем 1.a First_DAY_Office.pdf

Я хочу, чтобы скрипт powershell записывал файл в папку как путь: First / Day / 1.a First_DAY_Office.pdf означает, что я не хочу, чтобы файл назывался для изменения только папка должна быть указанным выше путем.

Мне удалось получить результат, используя имя файла и удалить 1.a из файла, а затем вывести файл First / Day / First_DAY_Office.pdf. Пожалуйста, помогите мне в этот случай

1 Ответ

0 голосов
/ 17 января 2020

Базовый каталог: каталог, в котором находится ваш входной файл

$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
}

Пожалуйста, дайте мне знать, если это помогло вам.

...