需求場景:羣暉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>
瀏覽器打開效果:
操作介紹:
刪除成功後,記得重建索引.