我有下面的代码片段,它目前删除我的临时目录中的所有内容,并重新添加一个新的临时目录。删除临时文件夹的内容
if($serverVersion.name -like "*2003*"){
$dir = "\\$server" + '\C$\WINDOWS\Temp\*'
remove-item $dir -force -recurse
if($?){new-item -path "\\$server\admin$\Temp" -Type Directory}
}
elseif($serverVersion.name -like "*2008*"){
$dir = "\\$server" + '\C$\Windows\Temp\*'
remove-item $dir -force -recurse
if($?){New-Item -Path "\\$server\admin$\Temp" -Type Directory}
}
我想稍微改变代码,它将不再删除临时目录,而是简单地删除所有的temp内容。我在我的$dir
变量的末尾添加了\*
,以便它试图获取temp内的所有项目,而不是删除Temp本身。当我运行这个,但我不删除任何东西。我的代码有什么问题?
你不需要围绕删除项目的%{}。它接受一个数组(来自Get-ChildItem)作为输入。 –
我没有得到的一件事就是为什么当你的代码在两个块中都是相同的时候,你在区分2003年和2008年。除非你认为目录路径区分大小写,而不是在Windows中。 – crownedjitter
这只是一个小小的代码片段,它获得的不仅仅是临时性的东西,而且它有一些不同的路径。 – Valrok