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

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

计算文件夹大小 隐藏文件的处理 3.1 什么是隐藏文件和系统文件?...本文将详细介绍如何使用 PowerShell 递归计算文件夹大小,并确保包含隐藏文件。 2....PowerShell 基础:Get-ChildItem 和文件统计 2.1 Get-ChildItem 基本用法 Get-ChildItem(别名 dir 或 ls)是 PowerShell 中用于列出文件和目录的核心命令...5.2 处理权限问题 管理员权限:某些系统目录(如 C:\Windows)需要管理员权限才能访问。 错误处理:使用 -ErrorAction SilentlyContinue 忽略无权限访问的目录。...总结 Get-ChildItem -Force 是统计隐藏文件的关键。 递归计算 适用于文件夹大小统计,但需注意性能问题。 错误处理 可避免因权限问题导致脚本中断。

40710

PowerShell实战:文件操作相关命令笔记

可创建的项类型取决于项的位置。 例如,在文件系统 New-Item 中创建文件和文件夹。 在注册表中, New-Item 创建注册表项和条目。New-Item 还可以设置它创建的项的值。...可以指定新项的名称或者指定新项的路径 ● -Path:指定新项的位置的路,如果省略的话表示当前目录,支持多个字符串通过逗号分割 ● -ItemType:指定新项目的指定提供者的类型(File 文件,SymbolLink...还可以通过管道将值传递给 New-Item ● -Confirm:用于创建操作运行cmdlet之前是否需要确认 ● -Force:针对文件夹,不会覆盖,只会返回之前创建的文件夹,针对文件或者注册表会覆盖文件内容...它支持删除许多不同类型的项,包括文件、文件夹、注册表项、变量、别名和函数。...* -Include *.txt -Recurse | Remove-Item说明:Path 的值为 (*) ,表示当前目前的文件。

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

    解决Windows 11系统C盘爆满:Docker 桌面版日志文件的疑难杂症

    尽管通过传统方法(如清理临时文件、卸载不必要的软件等)可以在一定程度上缓解这个问题,但有时候,这些常规手段似乎对于某些特殊情况无能为力。...只需以管理员身份执行下面的PowerShell脚本,即可轻松找出占用空间最大的文件夹或文件: Get-ChildItem -Directory | ForEach-Object { $folder...= $_ $size = (Get-ChildItem $folder.FullName -File -Recurse -ErrorAction SilentlyContinue | Measure-Object...这样,您可以快速识别出占用空间最大的文件夹。 手动清理:根据脚本的输出结果,找到那些占用空间过大的Docker日志文件或其他文件夹,并进行手动清理。...注意事项: 清理日志文件前,请确保这些日志信息对您当前的工作不再重要。 某些日志文件可能需要Docker服务停止后才能删除。

    2.5K10

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

    今天给大家讲解PowerShell Cmdlet参数相关的知识,希望对大家学习PowerShell能有所帮助!...比如下面的例子我们打开PowerShell,然后输入 New-Item 命令会提示位于命令管道位置 1 的 cmdlet New-Item请为以下参数提供值:Path[0]:这个时候我们不输入参数,直接点击回车按钮...get-help get-childitem -parameter *具体展示如下图:CodeSigningCert 表示为开关类型的数据,示例:D盘创建一个logs文件夹,文件夹内容如下图:首先获取文件夹内容get-childitem执行结果如下图:这里增加Recurse参数,这个参数可以实现下一级文件夹的递归访问...,命令如下:get-childitem -Recurse执行结果如下图:说明:针对开关函数,不需要去指定 true 和false ,如果加上 -参数,表示为true,如果执行命令不增加参数,表示为false

    1.6K20

    Windows11 批量删除.svn 文件夹:3个方法,按需选

    打开 PowerShell 并进入目标文件夹按Windows+X组合键,在弹出的菜单里选择 “Windows PowerShell”(或 “Windows PowerShell(管理员)”,遇到权限问题时选管理员模式...);在 PowerShell 窗口里,用cd命令进入要清理的项目文件夹路径,比如 “项目在 D 盘的‘我的项目’文件夹”,就输入cd D:\我的项目,按回车(输入路径时可以复制文件夹路径,右键粘贴进去)...执行删除命令在当前路径下,复制粘贴以下命令,按回车:Get-ChildItem -Recurse -Directory | Where-Object { $_.FullName -like '*.svn...命令解释简单拆解下这条命令:Get-ChildItem -Recurse -Directory:递归获取当前文件夹及子文件夹里的所有目录;Where-Object { $_.FullName -like...'*.svn' }:只留下名字以.svn结尾的目录;Remove-Item -Recurse -Force:强制删除选中的目录及里面的所有内容,不用手动确认。

    60410

    人人都值得学一点PowerShell实现自动化(2)会使用Excel简单函数就能上手PowerShell

    cmd或linux用户快速熟悉,所以我们找到其真正的标准名称是Get-ChildItem。...Get-ChildItem -Path F:\自媒体相关\其他文章分享\powershell\文件夹遍历 -Recurse 可以按【运行选择】将当前选择状态下的代码运行。...最后遍历的所有文件、文件夹清单就出来了,一条命令执行一件事情,PowerShell就是这么简单。...\childItems.csv 最后我们用PowerShell管道将Get-ChildItem和Export-Csv串起来,管道就是一个竖线符号,代表前面的结果直接输送到后面使用,即前面生成的文件、文件夹信息...,流到后面输出csv命令使用,代码如下: Get-ChildItem -Path F:\自媒体相关\其他文章分享\powershell\文件夹遍历 -Recurse | Export-Csv -Encoding

    3.6K10

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

    文件和目录操作 Get-ChildItem(别名:ls, dir, gci)是最常用的命令之一,用来列出文件和目录: # 列出当前目录所有文件 Get-ChildItem # 递归列出所有子目录的文件...Get-ChildItem -Recurse # 只显示文件夹 Get-ChildItem -Directory # 按大小排序显示文件 Get-ChildItem | Sort-Object Length...CMD的做法: for %f in (*.txt) do ren "%f" "%~nf.bak" PowerShell的做法: Get-ChildItem *.txt | Rename-Item -NewName...Get-EC2Instance New-EC2Instance -ImageId "ami-12345678" -InstanceType "t2.micro" 我觉得CMD不会完全消失,毕竟它简单轻量,在某些场景下还是有用的...在某些简单场景下,CMD可能更直接一些。关键是要根据实际需求选择合适的工具。

    3.2K10

    如何清理系统中残留的软件数据?

    方法二:手动删除残留文件步骤:找到软件的安装目录(通常位于C:\Program Files或C:\Program Files (x86))。删除整个文件夹及其子文件夹。...找到与软件名称相关的文件夹并删除。方法三:清理注册表项注意: 修改注册表可能导致系统不稳定,请谨慎操作并备份注册表。步骤:打开注册表编辑器:按下Win + R键,输入regedit,然后按回车。...方法四:使用PowerShell清理残留文件步骤:打开PowerShell(管理员权限):按下Win + X键,选择“Windows PowerShell(管理员)”。...输入以下命令逐一执行,并按回车:Get-ChildItem -Path "C:\Program Files", "C:\Program Files (x86)", "C:\Users\[用户名]\AppData...-Recurse将[用户名]替换为实际用户名,将[软件名称]替换为目标软件的名称。

    4.1K10

    如何释放 C 盘空间以提升系统性能?

    手动删除临时文件夹del /s /q %temp%\*%temp% 是当前用户的临时文件夹路径。/s 表示递归删除子目录中的文件,/q 表示静默模式(无需确认)。2....卸载不需要的软件某些安装在C盘的软件可能占用大量空间。使用控制面板卸载软件appwiz.cpl 打开“程序和功能”窗口。按照占用空间排序,卸载不再需要的软件。...使用PowerShell卸载软件Get-WmiObject -Class Win32_Product | Where-Object { $_.InstallLocation -like "C:\Program...移动用户文件夹默认情况下,用户的文档、图片、视频等文件夹位于C盘,可以通过以下方法将其移动到其他磁盘。修改用户文件夹位置打开“此电脑”,右键点击“文档”或其他文件夹,选择“属性”。...使用PowerShell查找大文件Get-ChildItem -Path C:\ -Recurse -ErrorAction SilentlyContinue | Sort-Object Length

    96010

    统计项目的代码行数

    统计项目的代码行数可以通过多种方法来实现,具体取决于你使用的操作系统和可用的工具。...你需要先安装它,然后运行在你的项目目录中。例如: cloc . 这个命令会统计当前目录下所有支持的编程语言的代码行数,并给出详细的报告。...对于Windows用户: 使用PowerShell: 在PowerShell中,你可以使用类似于Unix/Linux的命令来计算行数。...例如,对于.cs(C#源文件):(Get-ChildItem -Recurse -Filter *.cs | Select-String .).Count 这会递归地搜索所有.cs文件,并计算行数。...选择哪种方法取决于你的具体需求和你所使用的开发环境。对于简单的行数统计,命令行工具通常是最快且最直接的方式。如果你需要更详细的报告,cloc或IDE内置工具可能是更好的选择。

    3.5K10

    如何使用PowerShell批量删除注册表项

    如何使用PowerShell批量删除注册表项 问题描述 注册表路径以及如何获得注册表子项 基于条件过滤删除项 For循环删除子项 问题描述 卸载了可牛压缩软件以后,发现右键菜单中仍然有可牛压缩的选项。...注册表路径以及如何获得注册表子项 在PowerShell中注册表也有路径,跟我们文件和文件夹路径类似,上面的注册表项的路径可以表示为: REGISTRY::\HKEY_USERS\S-1-5-21-3610452307...使用Get-ChildItem命令(别名dir或者l),代码如下: $root = "REGISTRY::\HKEY_USERS\S-1-5-21-3610452307-4043425157-186669480...命令选择出来要删除的元素以后,我们可以使用ForEach_Object命令(别名foreach或者%)遍历该数组删除所有元素,代码如下: $items | % {rm -Force -Recurse $..._.PSPath} 其中,-Force和-Recurse参数代表强制删除和迭代删除子项。

    5.1K10

    计划任务的攻防战 | Window 应急响应

    $tasks = Get-ChildItem -Path $taskRegistryPath -Recurse | ForEach-Object { $taskName = $_.PSChildName...,在这之前监控计划任务文件所在的文件夹,通过文件变化 powershell 结果与其他程序结果进行对比 schtasks 将注册表中所有的计划任务都执行一次,查找报错 这里就以第三种方法做个演示吧 1....\Schedule\TaskCache\Tree" # 获取所有计划任务 $tasks = Get-ChildItem -Path $basePath -Recurse # 创建一个空的数组来存储找到的计划任务信息...上面能够被排查出来,是因为存在无 SD 项的文件夹,如果攻击者再变态一点,直接把注册表中文件夹都删除了,会怎么样呢?...发现, schtasks 对于这种和不存在的注册表显示有差异,可以枚举,重启计划任务服务计划任务继续执行,不耽误 删除文件夹 SD 项 这种隐藏的弱点也就是计划任务文件夹没有 SD 项,重启计划任务服务计划任务继续执行

    3.1K10

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

    报错0x800f0954或0x8024402c,用集成最新补丁的ISO来RestoreHealth,不论online还是离线都报错0x800f081f继续尝试其他思路:1、找了KB5035849提取了相关的...2024年3月这个补丁,而针对这个补丁的修复、卸载即便都成功,卸载WinDefend仍然报错,只能删掉kb5035849相关的1264个注册表来尝试,测试可以解决方案只是分享一种思路,风险自担,请做好备份..." /StartDirectory "C:\" /RunAs 8 /Run 3)在打开的TrustedInstaller权限的powershell...| Where-Object { $_ -like $pattern } foreach ($key in $keys) { Remove-Item -Path "$path$key" -Recurse...-Force -ErrorAction SilentlyContinue } (Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion

    13010
    领券