首页
学习
活动
专区
圈层
工具
发布

PowerShell 脚本进阶:如何统计目录大小并包含隐藏文件

引言 在日常系统管理和文件整理工作中,我们经常需要统计某个目录(及其子目录)的占用空间。PowerShell 提供了强大的文件遍历和计算能力,但默认情况下,它不会处理隐藏文件或系统文件。...PowerShell 基础:Get-ChildItem 和文件统计 2.1 Get-ChildItem 基本用法 Get-ChildItem(别名 dir 或 ls)是 PowerShell 中用于列出文件和目录的核心命令...隐藏文件的处理 3.1 什么是隐藏文件和系统文件? 隐藏文件:在 Windows 中,文件或目录可以设置 Hidden 属性(如 .git 目录)。...3.2 -Force 参数的作用 -Force 参数让 Get-ChildItem 返回 所有 文件,包括: 隐藏文件 系统文件 只读文件 示例:列出所有文件(含隐藏文件) Get-ChildItem...总结 Get-ChildItem -Force 是统计隐藏文件的关键。 递归计算 适用于文件夹大小统计,但需注意性能问题。 错误处理 可避免因权限问题导致脚本中断。

36710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PowerShell系列(八)PowerShell系统默认内置的Provider介绍

    Shell 中的命令的别名。...#进入E盘cd E:#查看E盘文件列表get-childitem五、功能函数 Function Provider功能函数指的是当前PowerShell中的功能函数,他是一组执行某个特定任务的函数集合,不存在二级目录功能...命令如下:#进入功能函数Providercd function:#获取可用的功能函数列表get-childitem 说明:当前获取到的函数可以直接在PowerShell环境中执行。...Registry Provider也提供了一些方法,让应用程序可以事先加载注册表中的资料,以便应用程序在启动时能够使用这些资料注册表的进入有两种方式HKLM:获取当前计算机的注册表cd hklm:get-childitem...HKCU:获取当前用户注册表cd hkcu:get-childitem七、变量 Variable Provider Variable Provider 主要是获取当前操作系统中各变量的值(不包括系统变量的信息

    69670

    PowerShell:在 Windows 中创建并导出自签名证书

    在今天的数字化世界中,确保数据的安全性和完整性尤为重要。证书提供了一种验证数据来源并保护数据免受篡改的方法。本文将介绍如何在 Windows 环境中使用 PowerShell 创建并导出自签名证书。...证书是一种包含公钥和一些识别信息的文件。在PKI中,证书是由可信任的第三方(称为证书颁发机构,CA)颁发的,CA证明了证书持有者的身份以及与之关联的公钥。...,并将其存储在当前用户的 "My" 证书存储中。...以下是一个导出 PFX 文件的例子: $pwd = ConvertTo-SecureString -String "Admin_123456" -Force -AsPlainText Get-ChildItem...在 Windows 中,我们可以使用 PowerShell 来创建和导出自签名证书。虽然自签名证书在公共互联网上可能会引发信任问题,但它们在测试和开发环境中是非常有用的工具。

    4.9K20

    PS常用命令之文件目录及内容操作

    (默认一级目录)对象自带 (Get-Item *).count 20 Get-ChildItem 命令 - 获取一个或多个指定位置中的项和子项 描述: 获取指定目录中文件获取一个或多个指定位置中的项和子项...-Name 1.txt # 获取目录中的子项名称 # 1.txt Get-ChildItem -Filter *.txt # 过滤 # Mode LastWriteTime...Get-ChildItem -Path C:\Parent -Depth 2 # 使用Depth参数获取项(深度) # 3.获取当前目录和子目录中的子项(递归显示) Get-ChildItem -Path...Remove-Item -Path C:\temp\DeleteMe -Recurse # 递归删除子文件夹中的文件 Get-ChildItem * -Include *.csv -Recurse |...Remove-Item # 递归删除子文件夹中的文件 Remove-Item * -Include *.doc -Exclude *1 # 删除文件夹中的某些文档文件 Get-ChildItem

    9.5K20

    卸载WinDefend报错:The referenced assembly could not be found. Error: 0x80073701

    报错0x800f0954或0x8024402c,用集成最新补丁的ISO来RestoreHealth,不论online还是离线都报错0x800f081f继续尝试其他思路:1、找了KB5035849提取了相关的...TrustedInstaller执行命令删除KB5035849相关注册表后卸载WinDefend成功之所以删除kb5035849相关注册表,是因为C:\Windows\Logs\CBS\CBS.log中的报错指向...2024年3月这个补丁,而针对这个补丁的修复、卸载即便都成功,卸载WinDefend仍然报错,只能删掉kb5035849相关的1264个注册表来尝试,测试可以解决方案只是分享一种思路,风险自担,请做好备份...(Get-ChildItem...key in $keys) { Remove-Item -Path "$path$key" -Recurse -Force -ErrorAction SilentlyContinue } (Get-ChildItem

    12410

    PowerShell到底是个啥?跟CMD比起来强在哪里?看完这篇你就懂了

    文件和目录操作 Get-ChildItem(别名:ls, dir, gci)是最常用的命令之一,用来列出文件和目录: # 列出当前目录所有文件 Get-ChildItem # 递归列出所有子目录的文件...: # 在文件中搜索文本 Select-String -Path "*.log" -Pattern "error" # 搜索多个文件 Get-ChildItem *.txt | Select-String...用来过滤对象: # 获取大于100MB的文件 Get-ChildItem | Where-Object {$_.Length -gt 100MB} # 获取最近7天修改的文件 Get-ChildItem...PowerShell实用技巧 在日常使用中,我总结了一些实用的技巧,能让你的工作效率大大提升。...Windows 10开始,右键菜单中的"在此处打开命令窗口"已经改成了"在此处打开PowerShell窗口"。Windows Server的管理也越来越依赖PowerShell。

    2.7K10

    批量重命名技巧:使用PowerShell一键整理图片文件命名规范

    场景背景在日常工作和学习中,我们经常会遇到需要批量重命名文件的情况。...# 进入目标文件夹Set-Location $folderPath# 获取所有符合条件的文件$files = Get-ChildItem -File | Where-Object { $_.Name -...-ForegroundColor Green方案二:简洁的单行命令对于熟悉PowerShell的用户,可以使用这个紧凑版本:Get-ChildItem "CDZCQ_500×263_*" | ForEach-Object...只显示将要重命名的文件,不实际执行$folderPath = "C:\Your\Folder\Path"Set-Location $folderPath$files = Get-ChildItem -...-ForegroundColor Yellow操作步骤备份原始文件:在执行任何批量操作前,建议先复制一份原始文件修改路径:将脚本中的 $folderPath 变量改为你的实际文件夹路径测试运行:先使用预览模式确认重命名效果正式执行

    47410

    Windows如何过滤出某后缀的文件路径

    方法1:用everything搜索比如要搜system32目录的.dll文件输入目录的绝对路径 空格 .dll,然后按路径排序,然后按住shift选择system32根目录的文件,右击点复制完整路径和文件名...,粘贴到记事本文件里即可图片方法2:用powershell命令,比如导出windows根目录 system32根目录的可执行文件,举例如下比较low的代码cd "c:\windows\system32"...比较牛逼的代码Get-ChildItem -Path C:\Windows\System32 -Filter ***.dll** -File | Sort-Object Length -Descending...| ForEach-Object { $_.Name }Get-ChildItem -Path C:\Windows\System32 -Filter ***.dll** -File | Sort-Object...Length -Descending | ForEach-Object { $_.BaseName }(Get-ChildItem -Path C:\Windows\System32 -Filter

    2K30

    内网渗透结束后,一些痕迹清理的小手段

    渗透攻击红队 一个专注于红队攻击的公众号 ? 大家好,这里是 渗透攻击红队 的第 51 篇文章,本公众号会记录一些红队攻击的笔记(由浅到深),不定时更新 ?...痕迹清理 Powershell 修改文件时间戳 有时候我们在登陆目标桌面后,根据需求可能会动用目标主机上的文件或者文件夹,而一些管理员很久都不会登陆一次主机;设想当管理员一上线看到自己的文件夹日期有异常...Function edit_time($path){$date1 =Get-ChildItem | Select LastWriteTime|Get-Random;$date2 =Get-ChildItem...| Select LastWriteTime|Get-Random;$date3 =Get-ChildItem | Select LastWriteTime|Get-Random;$(Get-Item...本篇只讲了两个小技巧,在实战中够用一些了,之后有空在发其他技巧。

    1.2K30

    PowerShell系列(十):PowerShell CmdletPowerShell Cmdlet 参数详解

    Cmdlet参数是进行执行操作、获取数据中的属性定义,然后根据属性定义获取对应属性的结果和执行对应的操作。根据类型的使用场景主要划分下面四种参数类型。...如果一个参数是开关类型,在执行过程中可以通过 - 参数 来开启属性定义,否则表示不开启该属性定义。...get-help get-childitem -parameter *具体展示如下图:CodeSigningCert 表示为开关类型的数据,示例:D盘创建一个logs文件夹,文件夹内容如下图:首先获取文件夹内容get-childitem执行结果如下图:这里增加Recurse参数,这个参数可以实现下一级文件夹的递归访问...,命令如下:get-childitem -Recurse执行结果如下图:说明:针对开关函数,不需要去指定 true 和false ,如果加上 -参数,表示为true,如果执行命令不增加参数,表示为false

    1.6K20

    PS对象处理操作常用命令

    任何生成基于对象的输出的命令都可以通过管道传递到该Cmdlet中。 Tips : 此处对于属性、对象和方法的名词介绍不在做过多的介绍(学习过面向对象编程的都应该知道)。...Adapted : 仅获取在PowerShell扩展类型系统中定义的属性和方法。 Base : 仅获取.NET对象的原始属性和方法(没有扩展或调整)。...# 在示例代码中,`[int]`将字符串转换为整数,`$\`表示每个字符串在管道中的位置。整数对象通过管道发送到“Sort Object”cmdlet。...如果没有此参数`Get Unique`将ProcessName值视为对象,并且只返回对象的一个实例,即列表中的第一个进程名。...,以及字符串对象(如文本文件)中的字符、单词和行。

    10.6K11
    领券