首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Powershell脚本以递归方式删除每个文件夹中的文件,最近一次写入的文件夹除外

Powershell脚本是一种由微软开发的脚本语言,可以在Windows环境中进行系统管理和自动化任务。它结合了命令行界面和脚本编程的优点,可以通过脚本来执行各种任务。

对于递归删除每个文件夹中的文件,可以使用以下Powershell脚本:

代码语言:txt
复制
$excludeFolder = Get-ChildItem -Directory | Sort-Object LastWriteTime | Select-Object -Last 1
Get-ChildItem -Recurse | Where-Object {$_.PSIsContainer -eq $false -and $_.Directory -ne $excludeFolder.FullName} | Remove-Item -Force

上述脚本首先使用Get-ChildItem命令获取当前目录下的所有文件夹,并按最后写入时间进行排序,然后选取最后一个文件夹作为要排除的文件夹。

接下来,再次使用Get-ChildItem命令进行递归获取所有文件夹及其文件。通过Where-Object命令筛选出非文件夹类型的项目,并且将它们的所属文件夹排除在外。

最后,使用Remove-Item命令将筛选出的文件进行强制删除。

这个脚本可以快速、有效地删除文件夹中的文件,只保留最近一次写入的文件夹不受删除影响。

关于Powershell的更多信息和用法,可以参考腾讯云的Powershell产品文档: https://cloud.tencent.com/document/product/213/904

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

可创建项类型取决于项位置。 例如,在文件系统 New-Item 创建文件文件夹。 在注册表, New-Item 创建注册表项和条目。New-Item 还可以设置它创建值。...还可以通过管道将值传递给 New-Item ● -Confirm:用于创建操作运行cmdlet之前是否需要确认 ● -Force:针对文件夹,不会覆盖,只会返回之前创建文件夹,针对文件或者注册表会覆盖文件内容...2、Remove-Item 删除项命令Remove-Item cmdlet 删除一个或多个项。它支持删除许多不同类型项,包括文件文件夹、注册表项、变量、别名和函数。...删除当前目录demo.txt文件Remove-item demo.txt删除当前目录所有扩展名是jpg文件文件名不包括*test*文件Remove-Item * -Include *.jpg -...Exclude *test*说明:-Include:包含某个字符串,支持通配符-Exclude:排除某个字符串,支持通配符 使用递归方式删除当前目录和子目录中所有的txt文件Get-ChildItem

37120

PowerShell系列(五):PowerShell通过脚本方式运行笔记

首先打开 WindowPowerShell ISE 开发环境新建一个test.ps1,脚本内容如下:$arr1=1..10 #定义一个1~10数组 $arr1  #打印数组一、四种执行方式介绍1、当前文件夹运行命令进入存放脚本文件命令...\psl1文件脚本文件存放在F盘桌面目录执行命令如下F  #进入F盘cd 桌面 #进入桌面文件夹 ....\test.ps1  #运行命令2、直接指定完整文件路径执行完整psl1文件F:\桌面\test.ps1具体如下图3、通过cmd命令直接执行需要加关键字PowerShell才可以识别是执行PowerShell...命令格式:PowerShell  ps1文件完整路径4、通过Windows计划任务执行PowerShell脚本PowerShell 脚本默认无法执行,需要先修改 PowerShell 执行策略(ExecutionPolicy...交互执行方式会存在脚本思维跳跃。不利于脚本整体逻辑把控。4、  定时任务实现。通过脚本方式可以很方便脚本文件周期重复性执行,这样就达到了定时任务目的。

1.9K41
  • Window权限维持(四):快捷方式

    查看快捷方式属性将显示目标字段已成功修改以执行PowerShell有效负载。 ? 由于快捷方式存在于启动文件夹,因此暂存器将在下一次Windows登录执行,并且将与命令和控制服务器建立连接。...默认情况下,此模块将使用写字板图标伪装成可信任应用程序。 ? 快捷方式目标字段将使用执行Base64有效负载PowerShell命令填充。可以将快捷方式转移并移动到启动文件夹以保持持久性。...EmpireEmpire包含一个持久性模块,该模块可以后门合法快捷方式(.LNK),以执行任意PowerShell有效负载。现有快捷方式目标字段将被修改以执行存储在注册表项base64本。...Empire-修改后快捷方式由于快捷方式存在于启动文件夹,因此暂存器将在下一次Windows登录执行,并且将与命令和控制服务器建立连接。...Empire-写字板快捷方式快捷方式目标字段将使用执行Base64有效负载PowerShell命令填充。可以将快捷方式转移并移动到启动文件夹以保持持久性。

    1.3K30

    Powershell快速入门(三) 实战应用

    ,还可以递归查询所有子文件夹。...比方说,我要查找一下迅雷文件夹下所有可执行文件,就可以使用下面的命令。如果添加-Depth参数的话,还可以指定递归深度。...Get-ChildItem -Recurse *.exe 修改hosts 访问谷歌一种方式就是更改hosts文件。这里就用Powershell做一个修改hosts功能。...每个Powershell进程都有一个变量$PID,用于标志当前进程进程号,利用这一点我们就可以实现这个功能。这里-WhatIf参数表示不真正关闭进程,仅列出将要关闭进程。...Excel数据,然后将其转换为文本并输出,每个数据之间使用制表符\t分隔,注意Powershell转义字符使用这个特殊字符。

    3.8K101

    windows系统安全|Windows渗透基础大全

    ) Windows中加载并执行PowerShell脚本 本地加载并执行PowerShell脚本 远程下载并执行PowerShell脚本 Windows批处理文件 Windows快捷键操作 Windows...删除文件夹和它下面的所有子文件夹还有文件 ren 1.txt 2.txt 将 1.txt 重命名为 2.txt type 1.txt...更多关于PowerShell用法:PowerShell使用浅析 本地加载并执行PowerShell脚本 在cmd当前目录下有PowerView.ps1本,并执行其中Get-Netdomain模块...*>a.txt 将C盘文件列表写入a.txt del 删除一个或多个文件 Windows快捷键操作 Alt+Tab 快速切换程序...同时每个用户预配置信息都存储在HKEY_USERS根键。HKEY_USERS是远程计算机访问根键之一。 HKEY_CURRENT_CONFIG 管理当前用户系统配置。

    1.8K10

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

    ,在这之前监控计划任务文件所在文件夹,通过文件变化 powershell 结果与其他程序结果进行对比 schtasks 将注册表中所有的计划任务都执行一次,查找报错 这里就以第三种方法做个演示吧 1....删除计划任务文件夹 计划任务正常执行 8. 常规检查情况 计划任务日志处依旧可以看到 其他方式看不到 9....上面能够被排查出来,是因为存在无 SD 项文件夹,如果攻击者再变态一点,直接把注册表中文件夹删除了,会怎么样呢?...不着急直接变成变态,我们先尝试将文件夹计划任务test5删除掉 不耽误计划任务执行 开始变态,删除掉 testdir 不耽误计划任务执行 12....,不耽误 不保留计划任务注册表项 删除注册表计划任务 删除注册表计划任务文件夹 直接将计划任务注册表搞坏 其实这几种都是一样,因为计划任务服务会“缓存”计划任务配置,所以修改注册表后,只有在计划任务服务重启后

    84710

    从0到1学习nodejs(1)

    这一篇拖了好久了因为最近工作真的太忙碌了,每天回家累不行只想睡觉!...嗯这就是比较基本命令行,如果是dir /s那就是输出这个文件夹所有文件(包括子目录) Nodejs注意事项 在nodejs不能使用DOM和BOMapi 在浏览器JavaScript...("删除成功"); } }); 但是终端显示rmdir递归删除会被遗弃,不推荐使用,推荐我们使用rm方法 fs.rm("....注意看要怎么写才对 批量重命名 一定要注意,文件路径,都是相对于终端来说,千万不要写错 总结: 文件读取 文件读取顾名思义,就是通过程序从文件取出其中数据,我们可以使用如下几种方式: 方法...]) 参数说明: path 文件夹路径 options 选项配置( 可选 ) callback 操作后回调 本文由“壹伴编辑器”提供技术支持 rmdir 删除文件夹 在 Node.js ,我们可以使用

    8610

    内网渗透 | 浅谈域渗透组策略及gpp运用

    0x00 前言 最近在实战过程遇到了组策略,发现攻击面其实挺宽广,这里记录下自己分析和学习过程。...目录是AD域中一个共享文件夹,该文件夹在AD活动目录安装时候被创建。...同时,为了保证系统正常运行,必须为SYSVOL保留足够空间缓存,而且不能随意删除、改动该文件夹,要不然会出现一些组策略无法启用等报错信息 该目录由于针对是域内所有机器和用户,所以域内中合法用户均可以访问和执行该目录文件...这个漏洞产生原因是 使用了GPP功能,如果输入了用户密码的话,那么密码就会以AES 256加密形式存储在SYSVOL文件夹以XML后缀结尾xml文件,这个密码加密密钥由微软官方给出可以进行解密...3.查看OU组信息 powershell Get-DomainOU -identity GPPVuln 发现有个GPOlink链接信息,然后我们根据这个GPUD去相应文件夹进行搜索就可以了 ?

    2.8K20

    玩转linux只需要几个命令

    home/Test.txt / (将home路径下Test.txt文件复制到根目录下) cp -r dir1 dir2 (-r表示递归,将dir1代表文件夹及里面的文件复制到dir2路径那里) 如:.../Test.txt (将根目录下Test.txt删除) (注:如果该文件是个文件夹删除不了) rm -rf *(-r表示递归、f表示强制删除)删除所有内容,包括目录和文件夹 如:rm -rf /home.../test(强制删除home下test文件夹) ln ln 建立符号链接,类似于windows快捷方式(需root权限或相应用户权限) ln -s 源目标 目的目标 如:ln -s /etc/initrc...下面的列表信息写入到out.txt文件【覆写】,如果之前不存在a.txt文件,则创建a.txt文件然后将信息写进去, 如果存在out.txt文件,则会覆盖掉之前信息) ls -al /etc>> out.txt...userdel -r 用户名 删除一个用户,并且删除连同该用户在home文件夹文件夹 如:userdel -r leo ?

    1.2K90

    从上而下死亡:从 Azure 到 On-Prem AD 横向移动

    cmdlet 输出通过管道传送到 Get-Member 或通过将每个对象传送到管道“Select *”来查看这些属性。...此过程工作方式与组策略类似,因为在每个设备上运行 Intune 代理会定期使用 Intune/Endpoint Manager 签入(默认情况下是每小时一次),以查看是否有 PowerShell 脚本可以运行...查找存在 Intune 服务日志文件夹/文件所有系统。...这些文件位于 C:\ProgramData\Microsoft\IntuneManagementExtension\Logs ,该文件夹可能存在三个文件: AgentExecutor.txt ClientHealth.txt...“Scripts”文件夹文件将是存储在 Azure PS1 本地副本,“Results”文件夹文件将是 PS1 输出;但是,一旦脚本完成运行,这两个文件都会自动删除

    2.5K10

    后渗透之权限维护 整理

    解决方法:在SAM文件夹处点击右键—>权限 ? 只有通过administrator给administrator完全控制权限,这样我们才能看到在SAM文件夹隐藏目录和隐藏文件。 ?...如何删除隐藏用户: ①在注册表右键删除,重启一下即可。 ②在控制面板中进行管理删除。...\dllcache\sethc.exe删除,这个文件夹中放着缓存,如果不删除就会自动变回去找到 ?...五、利用.user.ini文件自动包含木马文件 1、.user.ini文件是什么 官方解释为自 PHP 5.3.0 起,PHP 支持基于每个目录 .htaccess 风格 INI 文件。...不过前提是含有.user.ini文件夹下需要有正常php文件(见下面步骤,用正常php文件来当一个桥梁),否则也不能包含了。再比如,你只是想隐藏个后门,这个方式是最方便

    1.2K30

    Windows 10 IoT Serials 6 - 如何修改IoTStartupOnBoot.cmd文件

    在系统升级到最新15026版本以后,该文件修改方式和之前有了一些区别。本文将以添加启动FTP服务为例,详细讲述如何通过修改该文件权限来授权用户修改操作。 1....点击确定,用户可以发现,当前Administrator用户已经具有了修改和写入权限,如下图所示。 ?    ...设置自启动FTP服务     在之前IoT Core系统,FTP服务是开机自启动。但是最近Insider版本系统,该服务并没有开机自启动。...在弹出对话框输入访问用户名和密码。定位到Windows/System32文件夹下,找到IoTStartupOnBoot.cmd文件,点击右键,选择编辑。    ...通过Windows Device Portal,或者PowerShell工具连接,可以查看设备运行进程。在进程列表可以发现,FTP服务已经开机自启动。如下图所示。 ?

    93080

    一次powershell免杀之路(绕过360、火绒)

    一次powershell免杀之路 powershell简介 powershell是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework强大功能,PowerShell...2、PowerShell脚本可以运行在内存,不需要写入磁盘。 3、几乎不会触发杀毒软件。 4、可以远程执行。 5、目前很多工具都是基于PowerShell开发。...创建新图像时,普通 PowerShell 脚本实际上会被大大压缩,通常会生成一个文件大小约为原始脚本 50% png。 使用嵌入方法,每个像素 2 个颜色值最低有效 4 位用于保存有效负载。...图像每个像素用于保存一个字节脚本,因此你将需要一个像素数至少与脚本字节数一样多图像。...用法: 在Invoke-Obfuscation-Bypass文件夹输入powershell,打开powershell界面 依次输入 Powershell -ExecutionPolicy Bypass

    6.3K10

    四十六.Powershell和PowerSploit脚本攻防万字详解

    PowerCatPowerShell版NetCat,有着网络工具“瑞士军刀”美誉,它能通过TCP和UDP在网络读写数据。通过与其他工具结合和重定向,读者可以在脚本以多种方式使用它。...常见优点包括: Windows 7以上操作系统默认安装 PowerShell脚本可以运行在内存,不需要写入磁盘 可以从另一个系统中下载PowerShell脚本并执行 目前很多工具都是基于PowerShell...命令,每个命令显示为独立一行,对于被视为PowerShell脚本文本文件,它文件名需要加上.PS1扩展名。...(1) 下载远程PowerShell脚本绕过权限执行 调用DownloadString函数下载远程ps1文件。...在渗透测试,基本每一次运行PowerShell脚本时都要使用这个参数。

    67810

    四十二.Powershell恶意代码检测系列 (3)PowerSploit脚本渗透详解

    PowerCatPowerShell版NetCat,有着网络工具“瑞士军刀”美誉,它能通过TCP和UDP在网络读写数据。通过与其他工具结合和重定向,读者可以在脚本以多种方式使用它。...常见优点包括: Windows 7以上操作系统默认安装 PowerShell脚本可以运行在内存,不需要写入磁盘 可以从另一个系统中下载PowerShell脚本并执行 目前很多工具都是基于PowerShell...命令,每个命令显示为独立一行,对于被视为PowerShell脚本文本文件,它文件名需要加上.PS1扩展名。...(1) 下载远程PowerShell脚本绕过权限执行 调用DownloadString函数下载远程ps1文件。...在渗透测试,基本每一次运行PowerShell脚本时都要使用这个参数。

    3.2K30

    幻兽帕鲁服务器数据备份(云备份)

    定时备份 点击定时备份,配置帕鲁存档自动定时云备份。备份周期支持选择30分钟、1小时、2小时、6小时。注意:定时备份仅保存最近1天存档文件。 注意:定时备份仅保存最近1天存档文件。...确定存档文件夹路径 如果你使用了【3分钟开服】幻兽帕鲁服务器一键部署保姆教程(持续更新) Windows 一键部署方式,那么你存档文件夹Saved所在目录路径是。...确定存档文件夹路径 如果你使用了【3分钟开服】幻兽帕鲁服务器一键部署保姆教程(持续更新) Windows 一键部署方式,那么你存档文件夹Saved所在目录路径是。...新建触发器设置选择【一次】,在【重复任务间隔】设置你需要备份周期,例如1小时,【持续时间】选择无限期。 在【触发器】选项卡,点击【新建】按钮。...(持续更新)-腾讯云开发者社区-腾讯云中 Windows 一键部署方式,那么你存档文件夹Saved所在目录路径是。

    9K416

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

    案例1:遍历文件夹示例 虽然说PowerShell是一个要编写代码方式交互脚本语言,没有像其他工具那样方便直接界面完成,但脚本语言有其好处是灵活处理,懂使用后,灵活度高出许多。...在PowerShell,我们一样可以使用dir这样命令,但我们为了查看到其标准命令,使用了一个Get-Alias命令,将dir标准命令找出来,PowerShell可以使用dir这样别名方式来简写命令或让...可以点击运行、插入、复制等按钮,具体对应情形可以自行测试下,现在选择【复制】按钮,往脚本编辑区粘贴一下。将看到我们已经通过界面生成了以下代码命令。遍历指定Path路径,并且递归遍历子文件夹。...最后遍历所有文件文件夹清单就出来了,一条命令执行一件事情,PowerShell就是这么简单。...当然有创建,就有删除,我们用Remove-LocalUser来删除用户,同样使用管道方式,将Get-LocalUser得到用户清单,通过Where作筛选后,传给Remove-LocalUser删除

    2.9K10

    21天学习挑战赛之javaIO流

    (); } } 1.7File类练习二【应用】 案例需求 删除一个多级文件夹 实现步骤 定义一个方法,接收一个File对象 遍历这个File对象,获取它下边每个文件文件夹对象 判断当前遍历到...File对象是文件还是文件夹 如果是文件,直接删除 如果是文件夹,递归调用自己,将当前遍历到File对象当做参数传递 参数传递过来文件夹File对象已经处理完成,最后直接删除这个空文件夹 代码实现...//注意: 可以解决所有文件夹递归相结合题目 //2.遍历这个File对象,获取它下边每个文件文件夹对象 File[] files = src.listFiles...,将这种类型文件后缀名存入集合,次数存1 出现过,获取这种类型文件后缀名出现次数,对其+1,在存回集合 如果是文件夹,递归调用自己,HashMap集合就是参数集合,File对象是当前文件夹对象...fos.close(); } } 2.3字节流写数据三种方式【应用】 写数据方法分类 方法名 说明 void write(int b) 将指定字节写入文件输出流 一次写一个字节数据 void

    33750

    Linux学习笔记-Day11-12

    上级目录~ 家目录:每个用户家目录都不同/ 当“/”在最前面时才代表根目录,其他位置均为目录层级分隔符命令格式命令+参数+文件command -options [parameter]command:命令名..., ..., file5mv ##move 移动和重命名常见用法:mv 待移动文件 移动至目录mv 待重命名文件文件名 ##目标文件夹不存在则为重命名##文件-->文件 若新文件名已存在,将覆盖原本以该名命名文件...rm ##remove 删除常见参数:-f ##force强制不显示警告信息-i ##在删除前询问用户-r ##递归删除文件夹删库跑路命令 rm -rf /cp ##copy and paste 拷贝粘贴常见参数...;-b ##仅打印非空白行行号常见用法:cat > file ##>:重定向,创建新文件file并写入内容,Ctrl+C终止,会覆盖原有同名文件cat >> file ##>>:追加,在文件file后追加写入内容...-t:指定分隔符uniq:去除重复行##只能去除相邻重复行,记得和sort联用常见参数:-c:统计每个字符串连续出现次数paste:文本合并 ##只能做简单合并,默认按列合并常见参数:-d:指定分隔符

    13010
    领券