Get files and dirs
func get_dir_contents(rootPath: String) -> Array:
var files = []
var directories = []
var dir = Directory.new()
if dir.open(rootPath) == OK:
dir.list_dir_begin(true, false)
_add_dir_contents(dir, files, directories)
else:
push_error("An error occurred when trying to access the path.")
return [files, directories]
func _add_dir_contents(dir: Directory, files: Array, directories: Array):
var file_name = dir.get_next()
while (file_name != ""):
var path = dir.get_current_dir() + "/" + file_name
if dir.current_is_dir():
print("Found directory: %s" % path)
var subDir = Directory.new()
subDir.open(path)
subDir.list_dir_begin(true, false)
directories.append(path)
_add_dir_contents(subDir, files, directories)
else:
print("Found file: %s" % path)
files.append(path)
file_name = dir.get_next()
dir.list_dir_end()
Related: [[Get current executable path]]