Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FileRead, Input, 7.txt
- cDirs := []
- dirs := {}
- for i, line in StrSplit(Input, "`r`n") {
- if (SubStr(line, 1, 4) = "$ cd") {
- if (SubStr(line, 6) = "..")
- cDirs.Pop()
- else if (SubStr(line, 6) = "/") {
- cDirs := ["/"]
- if !dirs[MakeDirStr(cDirs)]
- dirs[MakeDirStr(cDirs)] := 0
- }
- else {
- cDirs.Push(SubStr(line, 6))
- if !dirs[MakeDirStr(cDirs)]
- dirs[MakeDirStr(cDirs)] := 0
- }
- }
- else if (SubStr(line, 1, 4) = "dir ") or (SubStr(line, 1, 4) = "$ ls")
- Continue
- else {
- dirStr := ""
- for i, dir in cDirs {
- dirStr .= dir
- dirs[dirStr] += StrSplit(line, A_Space)[1]
- }
- }
- }
- MakeDirStr(cDirs) {
- dirStr := ""
- for i, dir in cDirs
- dirStr .= dir
- Return dirStr
- }
- ;1
- total := 0
- for i, size in dirs {
- if (size <= 100000)
- total += size
- }
- MsgBox, % total
- ;2
- missing := 30000000 - (70000000 - dirs["/"])
- sSize := 70000000
- for i, size in dirs {
- if (size >= missing) and (size < sSize)
- sSize := size
- }
- MsgBox, % sSize
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement