需求场景:群晖audio station如何删除批量删除音乐,我想把打一星的都删除了.
群晖audio station 手动删除音乐文件.
解决思路是通过audio station的网页api请求,获取歌曲目录的歌曲路径,通过ssh批量执行删除命令.
接口返回的是json数据,很好处理.
重新拼接一下就可以得到删除文件的命令.
这里需要注意,文件或路径包含空格,需要用单引号把文件名或路径名括起来,不然删除失败.
我是通过js对json结果批量处理,重新拼接得到rm xxxx的多条命令,然后复制到群晖ssh窗口执行.
新建一个index.html文件,文件内容如下.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
</head>
<body>
<textarea style="width:45%;height:900px;float:left" id="src">
</textarea >
<button onclick="transfer()">transfer</button><input style="width:40px" id="counter"></input>
<textarea style="width:45%;height:900px;float:right" id="example"></textarea >
<script>
function transfer(){
let resultd = document.getElementById("src").value
let resultd_stringify = JSON.stringify(resultd)
let jsonparse = JSON.parse(resultd_stringify)
let jsonparse2 = JSON.parse(jsonparse)
let songsArr = jsonparse2.data.songs
let pathAllString = ""
for(let s of songsArr){
let p = s.path
let pArr = p.split('/');
let newPath = "rm /volume4";
for(let sub_p of pArr){
if(sub_p!= ""){
let tmp = `/'${sub_p}'`
newPath+=tmp
}
}
newPath +="\n"
pathAllString+=newPath
}
document.getElementById('counter').value = songsArr.length
document.getElementById('example').value = pathAllString
}
</script>
</body>
</html>
浏览器打开效果:
操作介绍:
删除成功后,记得重建索引.
爱词霸
划词翻译
自动发声
自动添加生词本
爱词霸
划词翻译
自动发声
自动添加生词本