简介
网易云音乐 - 设置 - 下载设置 中将 下载目录 默认配置到磁盘容量较多的那个磁盘的根目录,我将它修改到%USERPROFILE%\Music
音乐目录,会提示重启程序生效,但并没有自动重启,手动重启后发现目录未更改。
我基本上不会用网易云音乐下载音乐,而且我的每个磁盘根目录都是固定只有那些文件夹,用网易云音乐总是多一个空文件夹,强迫症不能忍。
手动删除这个目录后,每次网易云音乐启动时都会创建。暂时没有找到可以指定进程禁止创建指定目录文件的软件工具,于是利用 Windows 任务计划程序 在网易云音乐启动再关闭后主动删除。
步骤
审核进程跟踪和事件查看(可跳过)
-
Win
R
运行secpol.msc
打开 本地安全策略,在 本地策略 | 审核策略 中 启用审核进程跟踪。
-
打开网易云音乐再关闭。
-
开始菜单 中键入
事件查看器
并打开,在 Windows 日志 | 安全 中Ctrl
F
搜索cloudmusic_reporter.exe
,查看事件 ID为 4688。
此处使用cloudmusic_reporter.exe
而不是cloudmusic.exe
,是因为后者会在网易云打开关闭的过程中启动多个,而前者只会启动一次,避免任务重复触发。
任务计划程序创建任务
-
开始菜单 中键入
任务计划程序
并打开,在 操作 中 创建任务。 -
在 触发器 选项卡中新建,开始任务 选择 发生事件时,设置 | 自定义 | 新建事件筛选器,XML 选项卡 中勾选 手动编辑查询,键入以下内容:
<QueryList> <Query Id="0" Path="Security"> <Select Path="Security"> *[System[band(Keywords,9007199254740992) and (EventID=4688)]] and *[EventData[Data[@Name='NewProcessName'] and (Data='D:\ProgramFiles\Netease\CloudMusic\cloudmusic_reporter.exe')]] </Select> </Query> </QueryList>
其中Data=
的值要改自己网易云音乐的安装目录的cloudmusic_reporter.exe
路径。
还要设置 高级设置 | 延迟任务时间。 -
编写 PowerShell 脚本文件
删除网易云音乐创建的CloudMusic目录.ps1
(TODO 此脚本无法后台运行,可以将其转为 Windows 服务):# 循环检查进程是否运行 while ($true) { if (Get-Process -Name "cloudmusic" -ErrorAction SilentlyContinue) { Write-Host "CloudMusic is running." # 等待 5 分钟 Start-Sleep -Seconds 300 } else { Write-Host "CloudMusic is not running." $targetFolder = "F:\" # 存在就删除 CloudMusic 文件夹 if (Test-Path (Join-Path $targetFolder "CloudMusic")) { Remove-Item -Path (Join-Path $targetFolder "CloudMusic") -Recurse -Force Write-Host "Removed the CloudMusic folder from $targetFolder" } break } }
-
在 操作 选项卡中新建,操作选择
启动程序
,程序或脚本 为C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
,添加参数 为-File "E:\duanluan\WorkSpaces\My\任务计划\删除网易云音乐创建的CloudMusic目录.ps1" -WindowStyle Hidden
。
-
最后全部确定。
评论区