Этот скрипт PowerShell создаст каталоги с последовательными именами.
function New-SequentialDirectory
{
Param
(
[string] $Path = (Get-Location -PSProvider FileSystem).Path,
[UInt32] $StartAt = 1,
[UInt32] $EndAt
)
$Path = (Get-Location -PSProvider FileSystem).Path
if (-not (Test-Path -PathType Container $Path))
{
$exception = New-Object System.IO.DirectoryNotFoundException "The specified directory does not exist: $Path"
throw $exception
}
Write-Debug "Path: $Path"
foreach($number in $StartAt..$EndAt)
{
$itemPath = Join-Path -Path $Path -ChildPath $number
New-Item -Path $itemPath -ItemType Directory
}
<#
.SYNOPSIS
Creates a series of directories with numerically sequential names.
.PARAMETER Path
The path at which the sequence should be created. This must be an existing directory.
.PARAMETER StartAt
The number at which the sequence should start. This value must be positive and may be greater than the value of the EndAt parameter.
.PARAMETER EndAt
The number at which the sequence should end. This value must be positive and may be less than the value of the StartAt parameter.
.EXAMPLE
New-SequentialDirectory -StartAt 1 -EndAt 10
Directory: C:\Users\TestUser\Desktop\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 5/10/2014 2:18 p.m. 1
d---- 5/10/2014 2:18 p.m. 2
d---- 5/10/2014 2:18 p.m. 3
d---- 5/10/2014 2:18 p.m. 4
d---- 5/10/2014 2:18 p.m. 5
d---- 5/10/2014 2:18 p.m. 6
d---- 5/10/2014 2:18 p.m. 7
d---- 5/10/2014 2:18 p.m. 8
d---- 5/10/2014 2:18 p.m. 9
d---- 5/10/2014 2:18 p.m. 10
This example shows the creation of a sequence of ten folders in the current directory.
.EXAMPLE
New-SequentialDirectory -StartAt 10 -EndAt 1
Directory: C:\Users\TestUser\Desktop\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 5/10/2014 2:57 p.m. 10
d---- 5/10/2014 2:57 p.m. 9
d---- 5/10/2014 2:57 p.m. 8
d---- 5/10/2014 2:57 p.m. 7
d---- 5/10/2014 2:57 p.m. 6
d---- 5/10/2014 2:57 p.m. 5
d---- 5/10/2014 2:57 p.m. 4
d---- 5/10/2014 2:57 p.m. 3
d---- 5/10/2014 2:57 p.m. 2
d---- 5/10/2014 2:57 p.m. 1
This example shows that the EndAt parameter can be less than the StartAt parameter.
#>
}
Для использования кода ниже вам необходимо:
- Скопируйте приведенный выше код в файл с именем
New-SequentialDirectory.ps1
- Добавьте функцию к вашей сессии с помощью этой команды 1
. <path-to-New-Sequential-Directory.ps1>
- Вызовите функцию. Несколько примеров того, как это сделать, приведены в справке по команде, которая доступна через команду
Get-Help New-SequentialDirectory -Examples
когда функция находится в вашем сеансе.
1 Второй шаг может быть неудачным, поскольку по умолчанию PowerShell не позволяет запускать сценарии из файлов. Чтобы это исправить, вам нужно изменить политику выполнения на что-то чуть менее ограничительное. Для получения дополнительной информации см. Get-Help about_Execution_Policies