【发布时间】:2019-09-30 14:02:33
【问题描述】:
我有一个安装了 Powershell 5.0 的 Windows 2016 服务器。我正在尝试使用下面的 Powershell 命令在网络文件共享(也在同一台服务器上,但我使用 \server\backup 而不是 D:\backup 访问文件共享)上创建一个文件夹。
但是,下面的代码偶尔会抛出错误。
System.ArgumentException: Invalid Path: '\\server\backup\PSBackup\newFolder'.
at Microsoft.SqlServer.Management.PowerShell.SqlPath..ctor(String path)
at Microsoft.SqlServer.Management.PowerShell.SqlServerProvider.NewItem(String path, String type, Object newItem)
at System.Management.Automation.SessionStateInternal.NewItemPrivate(CmdletProvider providerInstance, String path, String type, Object content, CmdletProviderContext context)
我有一个按顺序创建文件夹的 powershell 脚本,相同的代码创建第一个文件夹,但在创建第二个文件夹时抛出错误。
您在网络共享上创建文件夹时遇到过这样的问题吗?顺便说一句,相同的 powershell 脚本在我的开发机器(Windows 2012 R2)和 Windows 2008 R2 服务器上运行没有任何问题。
$rootFolder = "\\server\backup\PSBackup"
$folderName = "newFolder"
$createdDirectory = New-Item -Path $rootFolder -ItemType "directory" -Name $folderName
【问题讨论】:
-
当你喜欢
$createdDirectory = New-Item -LiteralPath (Join-Path -Path $rootFolder -ChildPath $folderName) -ItemType Directory时会发生什么? -
路径是否有方括号?
[ ] -
@js2010 没有路径没有括号。
-
@Theo no LiteralPath 也不起作用。实际上,我上面的代码大部分时间都可以工作,但再次运行时会抛出错误。
标签: powershell