Powershell - 尝试将日期添加到文件夹副本末尾的错误消息
Powershell - Error message for trying to add a date to the end of a copy of a folder
我是 Powershell 的新手,我想看看我是否可以从测试文件夹中复制一个文件夹,然后将其放在备份文件夹中,并将该文件夹重命名为完成日期。
$sourceFile = "C:\Test1\"
$destination = "C:\Backup"
copy-item $sourceFile -destination $destination .\server-backup-$(Get-Date -format "yyyy_MM_dd_hh_mm_ss") -Recurse
但是,我总是收到一条错误消息,提示无法找到接受参数的内容。
Copy-Item : A positional parameter cannot be found that accepts argument '.\server-backup-2022_01_20_09_32_27'.
At line:5 char:2
+ copy-item $sourceFile -destination $destination .\server-backup-$(Ge ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Copy-Item], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.CopyItemCommand
有没有更好的方法解决这个问题,或者这个错误可以很容易地修复吗?
您需要连接目标字符串:
$sourceFile = "C:\Test1\"
$destination = "C:\Backup"
copy-item $sourceFile -destination ($destination + "\server-backup-" + (Get-Date).ToString("yyyy_MM_dd_hh_mm_ss")) -Recurse
我稍微调整了你的获取日期,因为我不确定获取日期的 -format 的输出。
如果路径中有任何空格,那么这将被视为不同的参数。
为避免这种情况,您可以使用引号来封装字符串,但是您不能执行函数,就像我使用的括号和连接字符串是另一种方法。
我是 Powershell 的新手,我想看看我是否可以从测试文件夹中复制一个文件夹,然后将其放在备份文件夹中,并将该文件夹重命名为完成日期。
$sourceFile = "C:\Test1\"
$destination = "C:\Backup"
copy-item $sourceFile -destination $destination .\server-backup-$(Get-Date -format "yyyy_MM_dd_hh_mm_ss") -Recurse
但是,我总是收到一条错误消息,提示无法找到接受参数的内容。
Copy-Item : A positional parameter cannot be found that accepts argument '.\server-backup-2022_01_20_09_32_27'.
At line:5 char:2
+ copy-item $sourceFile -destination $destination .\server-backup-$(Ge ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Copy-Item], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.CopyItemCommand
有没有更好的方法解决这个问题,或者这个错误可以很容易地修复吗?
您需要连接目标字符串:
$sourceFile = "C:\Test1\"
$destination = "C:\Backup"
copy-item $sourceFile -destination ($destination + "\server-backup-" + (Get-Date).ToString("yyyy_MM_dd_hh_mm_ss")) -Recurse
我稍微调整了你的获取日期,因为我不确定获取日期的 -format 的输出。
如果路径中有任何空格,那么这将被视为不同的参数。
为避免这种情况,您可以使用引号来封装字符串,但是您不能执行函数,就像我使用的括号和连接字符串是另一种方法。