// replace Guitar_Score below with the folder for which you want a listing with all subfolders function listFolderContents() { var foldername = 'Guitar_Score'; // file with this name will be saved in your goolge files var folderlisting = 'listing of folder ' + foldername; var ss = SpreadsheetApp.create(folderlisting); var sheet = ss.getActiveSheet(); var folders = DriveApp.getFoldersByName(foldername) var folder = folders.next(); //listFilesInFolder(folder, sheet); traverseFolder(folder, sheet); }; function traverseFolder(folder, sheet) { listFilesInFolder(folder, sheet); var subFolders = folder.getFolders(); while (subFolders.hasNext()) { traverseFolder(subFolders.next(), sheet); } } function listFilesInFolder(folder, sheet) { var foldername = folder.getName(); var contents = folder.getFiles(); sheet.appendRow( ['...', foldername] ); while(contents.hasNext()) { var file = contents.next(); var name = file.getName(); var link = file.getUrl(); sheet.appendRow( [name, link] ); } }
Liste der Unterordnernamen und Dateilinks in Google Sheets - Skript
Ich versuche, eine Google Sheet-Liste mit Dateilinks in Ordnern und Unterordnern zu erhalten, die ich in Google Drive verwende. Es sollte ungefähr so aussehen:
Ich habe schon lange gegoogelt und Foren gelesen, aber ich habe nur ein paar Skriptbeispiele gefunden und nicht alle funktionieren. Ich habe ein Skript gefunden, das nicht zu schlecht ist, da es eine Liste von Dateien mit Links in einem Ordner enthält. Ich möchte jedoch eine Liste mit Dateien mit Links in Unterordnern erhalten. Idealerweise werden alle Ordner-Links und Elementnamen in einer Zelle mit einem Trennzeichen "|" aufgeführt. Eines der besten Skriptbeispiele, die ich bisher gefunden habe, ist:
function listFilesInFolder(folderName) { var sheet = SpreadsheetApp.getActiveSheet(); sheet.appendRow(["Name", "File-Id"]); //change the folder ID below to reflect your folder's ID (look in the URL when you're in your folder) var folder = DriveApp.getFolderById("0ByQ9Zp2ge-pzSjhKdHVWWk0wNnc"); var contents = folder.getFiles(); var cnt = 0; var file; while (contents.hasNext()) { var file = contents.next(); cnt++; data = [ file.getName(), file.getId(), ]; sheet.appendRow(data); }; };
und es bringt Ergebnisse in einem Blatt
Es wäre sehr dankbar, wenn jemand helfen könnte, eine bessere Version dieses Codes zu erhalten.
psEs gibt auch ein paar größere Skripte, die ich in einer Zukunft brauchen werde, für die ich bereit bin zu zahlen. bitte melde mich bei interesse.
1 Antwort auf die Frage
Verwandte Probleme
-
3
Wie kann ich eine Verzeichnisstruktur "invertieren"?
-
1
Pausieren Sie alle Aufgaben außer x CPU-intensiven Aufgaben
-
7
Starten Sie den Synergy-Client beim Booten in Mac OS X
-
4
Wie synchronisieren Sie GreaseMonkey-Skripts zwischen Computern?
-
1
Kann ich ein Skript schreiben, das Benutzer automatisch wechselt?
-
6
Guter PowerShell-Leitfaden, der durch fortgeschrittene Verwendung Einstieg leistet
-
3
FTP "PUT" schlägt von der virtuellen Maschine aus, aber nicht vom Host-PC aus: 504 Der Befehl ist fü...
-
1
ksh entspricht perl $! Fehlerursache
-
2
Subskriptionsfehler außerhalb des Bereichs in VBScript-Skript
-
5
crontab, um osx aus dem schlaf zu erwecken