我有一个复杂的脚本在一个简单的行上失败了。 发生的事情是我执行
Backup-SqlDatabase -ServerInstance "DB01" -Database "DATABASE" -BackupFile "F:\FILE.BAK"
Copy-Item -Path \\remotedb01\f$\file.bak -Destination F:\Backups
回复给我的错误是 路径无效:' \\ remotedb01 \ f $ \ file.bak'
我通过测试发现它失败了,因为在backup-sqldatabase命令完成工作目录后
PS SQLSERVER:> 如果我输入c: 然后再次运行copy-item命令,它正常工作。
我必须遗漏一些痛苦明显的东西,但我没有看到它。 我宁愿在我的powershell中没有一行只是说C:,必须有更好的方法来实现这一点。
答案 0 :(得分:1)
在我放弃并发出求救声后,我是否认为我找到了解决方案?
解决方案1:
Test-Path -path "\\server\directoryname"
Import-Module 'sqlps' –DisableNameChecking
test-path -path Microsoft.PowerShell.Core\FileSystem::\\server\directoryname
解决方案2:
Test-Path -path "\\server\directoryname"
Import-Module 'sqlps' –DisableNameChecking
C:
Test-Path -path "\\server\directoryname"
只需将带有Copy-Item和Import-Module的Test-Path替换为Backup-SQLDatabase,解决方案就是匹配。
考虑到解决方案1意味着添加了十几个额外的字符,我将使用普通的C:作为修复。