我的Powershell脚本检查文件是否退出。如果存在,则删除现有文件。然后保存具有相同名称的新文件。 当我的文件名(和路径)中没有点("。")时,它工作得很完美。我认为-LiteralPath将是解决方案,但它不起作用,不知道为什么。 Test-Path似乎有效,但Remove-Item无效。
$xlsFile = "R:\Temp\37 Place i.Bay.\ComeOn 37 Place i.Bay. user_finance.xlsx"
if (Test-Path -LiteralPath $xlsFile)
{
try {
Write-Host "TestPath positiv, try to delete"
Remove-Item -LiteralPath $xlsFile -ErrorAction "Stop"
} catch {
Write-Warning $_.Exception.Message
}
try {
$xlsObj.ActiveWorkbook.SaveAs($xlsFile);
} catch {
Write-Warning $_.Exception.Message
}
}
else
{
Write-Host "TestPath negativ"
$xlsObj.ActiveWorkbook.SaveAs($xlsFile);
};
Powershell 2.0,R:是一个网络路径。
THX
答案 0 :(得分:0)
在Windows中不允许使用点结束文件夹名称:
不要使用空格或句点结束文件或目录名称。虽然底层文件系统可能支持此类名称,但Windows shell和用户界面却不支持。但是,可以将句点指定为名称的第一个字符。例如," .temp"。