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

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

PowerShell 脚本进阶:如何统计目录大小并包含隐藏文件 目录 引言 PowerShell 基础:Get-ChildItem 和文件统计 2.1 Get-ChildItem 基本用法 2.2...隐藏文件:在 Windows 中,文件或目录可以设置 Hidden 属性(如 .git 目录)。 系统文件:通常是操作系统关键文件(如 pagefile.sys)。...优化脚本:递归计算并包含隐藏文件 4.1 原始脚本分析 最初的脚本仅计算非隐藏目录和文件: Get-ChildItem -Directory | ForEach-Object { $size =...脚本执行优化与注意事项 5.1 提高执行效率 避免重复计算:如果目录层级很深,递归遍历可能较慢,可考虑并行计算(ForEach-Object -Parallel,需 PowerShell 7+)。...总结 Get-ChildItem -Force 是统计隐藏文件的关键。 递归计算 适用于文件夹大小统计,但需注意性能问题。 错误处理 可避免因权限问题导致脚本中断。

40310

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

然而,这些日志文件如果不加以管理,很容易膨胀至巨大大小,从而占用大量的磁盘空间。...只需以管理员身份执行下面的PowerShell脚本,即可轻松找出占用空间最大的文件夹或文件: Get-ChildItem -Directory | ForEach-Object { $folder...执行脚本:将上述脚本粘贴到PowerShell窗口中,按Enter执行。 分析结果:脚本执行完成后,会列出当前目录下所有子目录的大小(以GB为单位),并按大小降序排列。...这样,您可以快速识别出占用空间最大的文件夹。 手动清理:根据脚本的输出结果,找到那些占用空间过大的Docker日志文件或其他文件夹,并进行手动清理。...某些日志文件可能需要Docker服务停止后才能删除。 结语 通过上述方法,您不仅可以解决因Docker日志文件导致的C盘空间爆满问题,还可以应用这一技巧,管理系统中的任何其他大文件或文件夹。

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

    Python递归遍历文件夹搜索文件 脚本MagicSearch.py

    ,并且不存在于notSearhFolderArr数组中, 获取文件夹下的所有文件及文件夹, 遍历,判断子元素是文件,并且文件类型存在于searchTypeArr,如果真则存在返回路径 判断子元素...,是文件夹并且不属于notSearhFolderArr数组中, 执行第一步,进行递归搜索 代码: # 根据配置好的文件,搜索文件夹 import os import io import sys sys.stdout...) and (fileType in searchFileTypeArr): # 处理文件 searFilePathArr.append(currentPath) if...os.path.splitext:拆分路径中的文件扩展名于其他 os.path.isfile: 路径是否是文件 append: 向数组中追加一个元素 extend: 向数组追加一个数组 运行结果...: 程序返回的事根目录下所有的pdf文件路径列表 这个脚本稍作修改就可以查询多个文件类型,对文件进行分类,获取要查询的文件路径后,还可以对文件进行批量备份到一个文件夹下,或者将搜索结果直接打包压缩。

    1.7K10

    小甲鱼《零基础学习Python》课后笔记(三十):文件系统——介绍一个高大上的东西

    : if os.path.isdir(each_file): filetype_dict.setdefault('文件夹', 0) # 如果键不存在于字典中,将会添加键并将值设为默认值 filetype_dict...(file_type, 0) filetype_dict[file_type] += 1 for each_type in filetype_dict.keys(): print('该文件夹下共有类型为...如遇到文件夹,则进入文件夹继续搜索,程序实现如图: ?...(如果当前文件夹内包含文件夹,则进入文件夹继续搜索)所有含有该关键字的文本文件(.txt后缀),要求显示该文件所在的位置以及关键字在文件中的具体位置(第几行第几个字符),程序实现如图: ?...target_words)) if option.upper() == 'YES': print_pos(target_words_dict) target_words = input('请将该脚本放于待查找的文件夹内

    80320

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

    场景背景在日常工作和学习中,我们经常会遇到需要批量重命名文件的情况。...# 批量重命名图片文件脚本# 将 CDZCQ_500×263_0001 格式重命名为 CDZCQ_1 格式# 设置要处理的文件夹路径$folderPath = "C:\Your\Folder\Path"...# 请修改为你的实际文件夹路径# 进入目标文件夹Set-Location $folderPath# 获取所有符合条件的文件$files = Get-ChildItem -File | Where-Object...-ForegroundColor Yellow操作步骤备份原始文件:在执行任何批量操作前,建议先复制一份原始文件修改路径:将脚本中的 $folderPath 变量改为你的实际文件夹路径测试运行:先使用预览模式确认重命名效果正式执行...file.Name -match "^IMG_\d+x\d+_(\d+)") { $newName = "IMG_$([int]$matches[1])" + $file.Extension}保留更多信息# 如果想保留尺寸信息

    49010

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

    ,手动检查还是比较困难,得整个脚本来做 这里提供一个 powershell 脚本 # 检索注册表中 Index 值为 0 的计划任务名称及其注册表位置 $taskRegistryPath = "HKLM...上面能够被排查出来,是因为存在无 SD 项的文件夹,如果攻击者再变态一点,直接把注册表中文件夹都删除了,会怎么样呢?...不着急直接变成变态,我们先尝试将文件夹中的计划任务test5删除掉 不耽误计划任务执行 开始变态,删除掉 testdir 不耽误计划任务执行 12....,可以枚举,重启计划任务服务计划任务继续执行,不耽误 删除文件夹 SD 项 这种隐藏的弱点也就是计划任务文件夹没有 SD 项,重启计划任务服务计划任务继续执行,不耽误 不保留计划任务注册表项 删除注册表中的计划任务...pwd=yjxy 提取码: yjxy 插个 flag ,如果恶趣味的攻击者向计划任务执行日志中定期写一堆不存在的计划任务日志那会怎么样 ? 真的遇到了,但愿你是个不认真的人~

    3.1K10

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

    案例1:遍历文件夹示例 虽然说PowerShell是一个要编写代码的方式交互的脚本语言,没有像其他工具那样方便直接界面完成,但脚本语言有其好处是灵活处理,懂使用后,灵活度高出许多。...可以点击运行、插入、复制等按钮,具体对应的情形可以自行测试下,现在选择【复制】按钮,往脚本编辑区粘贴一下。将看到我们已经通过界面生成了以下的代码命令。遍历指定的Path路径,并且递归遍历子文件夹。...Get-ChildItem -Path F:\自媒体相关\其他文章分享\powershell\文件夹遍历 -Recurse 可以按【运行选择】将当前选择状态下的代码运行。...和Export-Csv串起来,管道就是一个竖线符号,代表前面的结果直接输送到后面使用,即前面生成的文件、文件夹信息,流到后面输出csv命令使用,代码如下: Get-ChildItem -Path F:\...\powershell\childItems.csv" 然后就生成了一个csv文件,里面存有我们Get-ChildItem遍历所有文件、文件夹项目命令生成的结果清单。

    3.6K10

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

    Get-ChildItem -Recurse # 只显示文件夹 Get-ChildItem -Directory # 按大小排序显示文件 Get-ChildItem | Sort-Object Length...Where-Object {$_.Status -eq "Running"} # 获取特定服务 Get-Service -Name Spooler Start-Service和Stop-Service用来启动和停止服务...: # 在文件中搜索文本 Select-String -Path "*.log" -Pattern "error" # 搜索多个文件 Get-ChildItem *.txt | Select-String...场景二:系统信息收集 如果要收集系统的硬件信息,CMD基本上只能调用systeminfo命令,然后用findstr过滤,很不方便。...问题1:脚本执行被阻止 这是最常见的问题,解决方法是修改执行策略: # 临时允许执行脚本 Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process

    3K10

    聊聊Yii2和ThinkPHP5的文件缓存

    清空缓存所有数据 offsetExists ,exists别名 offsetGet ,get别名 offsetSet,set别名 offsetUnset,delete别名 getOrSet,获取缓存,不存在则设置缓存...缓存提供的方法 get 获取缓存 set 设置缓存 inc 缓存数据自增 dec缓存数据自减 rm 删除缓存 clear 根据tag 删除缓存 pull 读取缓存并删除缓存 remember读取缓存,不存在则设置...ThinkPHP5 则是在读取缓存的时候,如果缓存过期则删除。如果缓存保存的是多层级的文件夹,Yii2会删除缓存文件夹,但是ThinkPHP5 不会删除。...如果读文件加了LOCK_NB标志,则读文件不阻塞,直接读取失败!读文件先执行读锁,其他进程可读。写入文件必须等读锁释放。如果写文件加了LOCK_NB标志,则写文件不阻塞,直接失败 文件状态缓存。...如果在一个脚本中多次检查同一个文件,只在最初会读取信息,其他都是从缓存中获取。

    1.6K20

    服务隐藏与排查 | Windows 应急响应

    0x00 简介 攻击者通过创建服务进行权限维持过程中,常常会通过一些手段隐藏服务,本文主要演示通过配置访问控制策略来实现隐藏的方式以及排查方法的探索 不包含通过修改内存中链表进行隐藏的方式 0x01...如果此服务被停止,游戏保存数据将不会上传至 Xbox Live 或从 Xbox Live 下载。...当然,这前提是注册表有访问权限,如果攻击者额外设置了注册表权限,可以先取消注册表权限 方法二 高权限查看法 这种隐藏方式无非就是谁可以看,谁不可以看,在 Linux 中,几乎所有的限制对 root 都没用...CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)" 这样就可以通过 services.msc 进行管理了 删除服务 sc delete "ServiceName" 0x09 删除注册表文件夹会怎么样...SDDL 进行隐藏的服务恶意直接按照文中的方法,重新赋权,就可以删除或停止了 对于进行了 SDDL 同时删除了注册表项的服务,需要通过重启来进行删除

    1K10

    用powershell提高工作效率

    在接下来的内容中,我们将逐步介绍PowerShell的基本命令和脚本编写技巧。无论您的技能水平如何,您都可以从中获取有价值的知识,快速上手这些强大的工具。 接下来,让我们开始探索Power的世界吧!...Get-Process # 获取系统信息 Get-ComputerInfo # 列出文件夹内容 Get-ChildItem -Path "C:\Path\To\Directory" 以上是在命令行中运行命令...,下面是在ise中实现,打开如下图所示,windows+R,输入powershell_ise 出现下面的界面,点击如图所示的新建脚本,然后输入一些常用的命令 #打开网址 Start-Process http...,如果不是专业的人不需要懂多语法,就上面的命令就够用了,在工作中能提高很大的效率,我们运行某个命令,直接选中这行,右键,选择 运行选定内容 就可以了,大家可以试一试。...如果大家不想桌面很多文档或程序看着很乱的话,可以直接在D盘或其他盘很系统地建文件夹,将文件放到里面,不必担心文件夹繁琐或自己经常忘记文件或文件夹在哪里。以上的方法是直接可以打开的,非常的方便。

    38710
    领券