当前位置:  开发笔记 > 编程语言 > 正文

如何使用Powershell更改文件的属性?

如何解决《如何使用Powershell更改文件的属性?》经验,为你挑选了3个好方法。

我有一个Powershell脚本,可以将文件从一个位置复制到另一个位置.复制完成后,我想清除源位置中已复制文件的存档属性.

如何使用Powershell清除文件的Archive属性?



1> Simon Steele..:

您可以使用这样的旧的dos attrib命令:

attrib -a *.*

或者使用Powershell执行此操作,您可以执行以下操作:

$a = get-item myfile.txt
$a.attributes = 'Normal'



2> Mitch Wheat..:

从这里:

function Get-FileAttribute{
    param($file,$attribute)
    $val = [System.IO.FileAttributes]$attribute;
    if((gci $file -force).Attributes -band $val -eq $val){$true;} else { $false; }
} 


function Set-FileAttribute{
    param($file,$attribute)
    $file =(gci $file -force);
    $file.Attributes = $file.Attributes -bor ([System.IO.FileAttributes]$attribute).value__;
    if($?){$true;} else {$false;}
} 



3> Goyuix..:

由于Attributes基本上是一个位掩码字段,因此您需要确保清除归档字段,同时保留其余字段:

PS C:\> $f = get-item C:\Archives.pst
PS C:\> $f.Attributes
Archive, NotContentIndexed
PS C:\> $f.Attributes = $f.Attributes -band (-bnot [System.IO.FileAttributes]::Archive)
PS C:\> $f.Attributes
NotContentIndexed
PS H:\>

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有