Function Powershell为目录创建一个函数,并在末尾添加前缀
制作一个函数,生成3个名为John_S的目录,并添加前缀和数字1、2、m 例子 1.约翰 2.约翰2 3.约翰·苏S3 使用循环(ForEach) 使用变量表示迭代次数 到目前为止我所拥有的Function Powershell为目录创建一个函数,并在末尾添加前缀,function,powershell,directory,prefix,Function,Powershell,Directory,Prefix,制作一个函数,生成3个名为John_S的目录,并添加前缀和数字1、2、m 例子 1.约翰 2.约翰2 3.约翰·苏S3 使用循环(ForEach) 使用变量表示迭代次数 到目前为止我所拥有的 $DirName = "John_S" function mulcheck {New-item "$DirName"} $i = 1 foreach($DirName in $DirNames) {$newname = $DirName Rename-
$DirName = "John_S"
function mulcheck {New-item "$DirName"}
$i = 1
foreach($DirName in $DirNames)
{$newname = $DirName Rename-Item $($DirName) $newname $i++}
生成数字1到3的最简单方法是使用
。
范围运算符:
foreach($suffix in 1..3){
mkdir "John_S${suffix}"
}
要使函数可重复使用而不是John\u S
,请为前缀声明[string]
参数:
function New-Directories([string]$Prefix) {
foreach($suffix in 1..3){
mkdir "${Prefix}${suffix}"
}
}
如果我正确理解了您的最新评论,那么您需要一个函数,该函数采用一个新文件夹的名称,并检查根路径中是否存在一个名为altready的文件夹。在这种情况下,它应该使用给定的名称创建一个新文件夹,但附加一个索引号,这样它就有一个唯一的名称 为此,您可以使用以下内容:
function New-Folder {
[CmdletBinding()]
param (
[Parameter(Mandatory = $false)]
[string]$RootPath = $pwd, # use the current working directory as default
[Parameter(Mandatory = $true)]
[string]$FolderName
)
# get an array of all directory names (name only) of the folders with a similar name already present
$folders = @((Get-ChildItem -Path $RootPath -Filter "$FolderName*" -Directory).Name)
$NewName = $FolderName
if ($folders.Count) {
$count = 1
while ($folders -contains $NewName) {
# append a number to the FolderName
$NewName = "{0}{1}" -f $FolderName, $count++
}
}
# we now have a unique foldername, so create the new folder
$null = New-Item -Path (Join-Path -Path $RootPath -ChildPath $NewName) -ItemType Directory
}
New-Folder -FolderName "John_S"
如果您多次运行此操作,您将创建多个文件夹,如
hi,你是否打算像($i=1;$i-le$count;$i++){…}那样循环一个可变次数?hi,我试图创建一个函数,每次我运行它时,它都会创建一个目录名“John_S”,每次我运行同一个函数时,如果已经有一个目录名“John_S”它将生成另一个同名目录,并带有前缀号。我们尚未收到您的消息。。作为新手,您可能不知道这一点,但习惯于单击大复选标记图标
✓代码>在左边。这将帮助其他有类似问题的人更容易找到它,并有助于激励人们回答你的问题。嗨,这太棒了,但这只允许我在每个目录中使用该功能一次。有没有可能让一个函数一次创建一个前缀递增的目录?看看你的函数,有没有办法在John_S保持不变的情况下声明后缀参数?@Jeffrie当然,但我想你想让这个函数创建3个不同的文件夹?那么你想一次接受3个不同的后缀,还是。。。?