[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] [已解决]win7中PowerShell的Get-Item怎么获取隐藏文件?

  1. # & cls & PowerShell.exe -NoProfile -Exec Bypass "iex (${%~f0} | Out-String)" & pause & exit
  2. $filePath = "C:\Users\Administrator\Desktop\新建文本文档.txt"
  3. $fileInfo = Get-Item -Path $filePath
  4. $fileAttributes = $fileInfo.Attributes
  5. if (($fileAttributes -band [IO.FileAttributes]::Hidden) -eq 0) {
  6.     $fileAttributes = $fileAttributes -bor [IO.FileAttributes]::Hidden
  7. } else {
  8.     $fileAttributes = $fileAttributes -bxor [IO.FileAttributes]::Hidden
  9. }
  10. Set-ItemProperty -Path $filePath -Name Attributes -Value $fileAttributes
复制代码
在win7中运行该脚本,第一次可以成功把文件修改为隐藏属性
但再次运行提示
  1. Get-Item : 找不到项 C:\Users\Administrator\Desktop\新建文本文档.txt。
  2. 所在位置 行:4 字符: 21
  3. + $fileInfo = Get-Item <<<<  -Path $filePath
  4.     + CategoryInfo          : ObjectNotFound: (C:\Users\Admini...ktop\新建文本
  5. 文档.t    xt:String) [Get-Item], IOException
  6.     + FullyQualifiedErrorId : ItemNotFound,Microsoft.PowerShell.Commands.GetIt
  7.    emCommand
复制代码
是不是Get-Item不能获取隐藏文件?应该怎么获取
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

QQ 20147578

如果是默认的2.0版本 只能用.net方法 , 不多因为.net库分的太细(.net的通病了) , 用起来挺麻烦的 , 例如获取当前目录隐藏文件
[io.directory]::GetFiles($pwd.path)|?{([io.fileinfo]$_).attributes -band [IO.FileAttributes]::hidden}
获取的只是文件,文件夹还要另外单独算,而且获取的还只是字符串

不过也可以直接调cmd命令
或者升级成powershell 5.1 用Get-ChildItem命令
1

评分人数

TOP

回复 2# Five66


    好的,谢谢

QQ 20147578

TOP

运行help Get-Item
看一下帮助加个参数-force

TOP

返回列表