using System;
using static System.Console;
using System.Linq;
using System.IO;
public class main {
public static void Main(string[] args) {
WriteLine("\nHello, 18_1_Dir!\n");
String directory;
if (args.Length < 1)
directory = ".";
else
directory = args[0];
WriteLine($"{directory} directory Info");
WriteLine("-Directories :");
var directories = (from dir in Directory.GetDirectories(directory)
let info = new DirectoryInfo(dir)
select new{
Name = info.Name,
Attributes = info.Attributes
}).ToList();
foreach (var d in directories)
WriteLine($"{d.Name}: {d.Attributes}");
WriteLine("-Files");
var files = (from file in Directory.GetFiles(directory)
let info = new FileInfo(file)
select new{
Name = info.Name,
FileSize = info.Length,
Attributes = info.Attributes
}).ToList();
foreach (var f in files)
WriteLine($"{f.Name}: {f.FileSize}, {f.Attributes}");
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBzdGF0aWMgU3lzdGVtLkNvbnNvbGU7CnVzaW5nIFN5c3RlbS5MaW5xOwp1c2luZyBTeXN0ZW0uSU87CgpwdWJsaWMgY2xhc3MgbWFpbiB7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbihzdHJpbmdbXSBhcmdzKSB7CgkJV3JpdGVMaW5lKCJcbkhlbGxvLCAxOF8xX0RpciFcbiIpOwoJCQoJCVN0cmluZyBkaXJlY3Rvcnk7CgkJaWYgKGFyZ3MuTGVuZ3RoIDwgMSkKCQkJZGlyZWN0b3J5ID0gIi4iOwoJCWVsc2UKCQkJZGlyZWN0b3J5ID0gYXJnc1swXTsKCQkKCQlXcml0ZUxpbmUoJCJ7ZGlyZWN0b3J5fSBkaXJlY3RvcnkgSW5mbyIpOwoJCVdyaXRlTGluZSgiLURpcmVjdG9yaWVzIDoiKTsKCQl2YXIgZGlyZWN0b3JpZXMgPSAoZnJvbSBkaXIgaW4gRGlyZWN0b3J5LkdldERpcmVjdG9yaWVzKGRpcmVjdG9yeSkKCQkJCQkJICBsZXQgaW5mbyA9IG5ldyBEaXJlY3RvcnlJbmZvKGRpcikKCQkJCQkJICBzZWxlY3QgbmV3ewoJCQkJCQkJICBOYW1lID0gaW5mby5OYW1lLAoJCQkJCQkJICBBdHRyaWJ1dGVzID0gaW5mby5BdHRyaWJ1dGVzCgkJCQkJCSAgfSkuVG9MaXN0KCk7CgkJCgkJZm9yZWFjaCAodmFyIGQgaW4gZGlyZWN0b3JpZXMpCgkJCVdyaXRlTGluZSgkIntkLk5hbWV9OiB7ZC5BdHRyaWJ1dGVzfSIpOwoJCQoJCVdyaXRlTGluZSgiLUZpbGVzIik7CgkJdmFyIGZpbGVzID0gKGZyb20gZmlsZSBpbiBEaXJlY3RvcnkuR2V0RmlsZXMoZGlyZWN0b3J5KQoJCQkJCWxldCBpbmZvID0gbmV3IEZpbGVJbmZvKGZpbGUpCgkJCQkJc2VsZWN0IG5ld3sKCQkJCQkJTmFtZSA9IGluZm8uTmFtZSwKCQkJCQkJRmlsZVNpemUgPSBpbmZvLkxlbmd0aCwKCQkJCQkJQXR0cmlidXRlcyA9IGluZm8uQXR0cmlidXRlcwoJCQkJCX0pLlRvTGlzdCgpOwoJCWZvcmVhY2ggKHZhciBmIGluIGZpbGVzKQoJCQlXcml0ZUxpbmUoJCJ7Zi5OYW1lfToge2YuRmlsZVNpemV9LCB7Zi5BdHRyaWJ1dGVzfSIpOwoJfQp9CgoKCgoKCgoKCg==