通过搜索删除文件夹中的一些 google 个驱动器文件
delete some google drive files in a folder by search
我正在尝试使用此方法从我的驱动器中删除一些文件:
function deleteFiles(){
var files = DriveApp.searchFiles('title:720p');
Logger.log(files);
//Logger.log(files.next().getName);
while (files.hasNext()) {
// files.next().setTrashed(true);
//Logger.log(files.next().getName());
Logger.log('hola');
}
}
但我在所有注释行中得到 Error: Invalid argument:q
,即使在 while 循环中也是如此。第一个记录器显示文件夹迭代器,所以每个都应该没问题...
文件存在!他们都有不同的名字,但他们的名字中有一个共同点“720p”。
此外,我还没有能够实现这个,我只需要删除这些只在一个特定文件夹中的文件。
可以试试这样的-
function deleteFiles() {
// Log the name of every file named "12345test" in the user's Drive.
var files = DriveApp.getFilesByName('12345test');
while (files.hasNext()) {
var file = files.next();
Logger.log(file.getName());
// file.setTrashed(true)
}
}
查看高级驱动服务和查询选项"title contains xxxx"
这是另一种方法,使用 searchFiles 技术
function deleteFiles() {
var searchTerm = "12345test"
var searchFor ="title contains '" + searchTerm + "'"; //single quotes are needed around searchterm
var files = DriveApp.searchFiles(searchFor);
while (files.hasNext()) {
var file = files.next();
Logger.log(file.getName());
// file.setTrashed(true)
}
}
我找到了解决方案,但效率不高,请随时提供更高效的解决方案:
function deleteFiles(){
var folder = DriveApp.getFoldersByName('MyFolder').next();
var files = folder.getFiles();
while (files.hasNext()) {
var file = files.next();
var filename = file.getName();
if (filename.indexOf("720p")>-1){
Logger.log(filename);
file.setTrashed(true);
}
}
}
您的搜索词似乎位于文件名或标题的中间或末尾。尝试使用它,它似乎对我有用。
https://developers.google.com/drive/v3/web/search-parameters
function deleteFiles() {
var searchTerm = "12345test"
var searchFor ="fullText contains '" + searchTerm + "'"; //single quotes are needed around searchterm
var files = DriveApp.searchFiles(searchFor);
while (files.hasNext()) {
var file = files.next();
Logger.log(file.getName());
// file.setTrashed(true)
}
}
我正在尝试使用此方法从我的驱动器中删除一些文件:
function deleteFiles(){
var files = DriveApp.searchFiles('title:720p');
Logger.log(files);
//Logger.log(files.next().getName);
while (files.hasNext()) {
// files.next().setTrashed(true);
//Logger.log(files.next().getName());
Logger.log('hola');
}
}
但我在所有注释行中得到 Error: Invalid argument:q
,即使在 while 循环中也是如此。第一个记录器显示文件夹迭代器,所以每个都应该没问题...
文件存在!他们都有不同的名字,但他们的名字中有一个共同点“720p”。
此外,我还没有能够实现这个,我只需要删除这些只在一个特定文件夹中的文件。
可以试试这样的-
function deleteFiles() {
// Log the name of every file named "12345test" in the user's Drive.
var files = DriveApp.getFilesByName('12345test');
while (files.hasNext()) {
var file = files.next();
Logger.log(file.getName());
// file.setTrashed(true)
}
}
查看高级驱动服务和查询选项"title contains xxxx"
这是另一种方法,使用 searchFiles 技术
function deleteFiles() {
var searchTerm = "12345test"
var searchFor ="title contains '" + searchTerm + "'"; //single quotes are needed around searchterm
var files = DriveApp.searchFiles(searchFor);
while (files.hasNext()) {
var file = files.next();
Logger.log(file.getName());
// file.setTrashed(true)
}
}
我找到了解决方案,但效率不高,请随时提供更高效的解决方案:
function deleteFiles(){
var folder = DriveApp.getFoldersByName('MyFolder').next();
var files = folder.getFiles();
while (files.hasNext()) {
var file = files.next();
var filename = file.getName();
if (filename.indexOf("720p")>-1){
Logger.log(filename);
file.setTrashed(true);
}
}
}
您的搜索词似乎位于文件名或标题的中间或末尾。尝试使用它,它似乎对我有用。 https://developers.google.com/drive/v3/web/search-parameters
function deleteFiles() {
var searchTerm = "12345test"
var searchFor ="fullText contains '" + searchTerm + "'"; //single quotes are needed around searchterm
var files = DriveApp.searchFiles(searchFor);
while (files.hasNext()) {
var file = files.next();
Logger.log(file.getName());
// file.setTrashed(true)
}
}