Kotlin can also be run as a script. If bash or Perl is not for you, now you have an alternative.
Say you want to delete all files that are older than N given days. The following code example does just that:
import java.io.File
val purgeTime = System.currentTimeMillis() - args[1].toLong() * 24 * 60 * 60 * 1000
val folders = File(args[0]).listFiles { file -> file.isFile }
folders ?.filter {
file -> file.lastModified() < purgeTime }
?.forEach {
file -> println("Deleting ${file.absolutePath}")
file.delete()
}
Create a file named delete.kts with the preceding content. Note the predefined variable args, which contains all the incoming parameters passed when it is invoked. You might wonder what the ? character is doing there. If you are familiar with the C# language and you know about nullable...