【发布时间】:2018-10-17 21:15:43
【问题描述】:
所以我学会了如何从 kotlin here 运行 ps1 文件,但我对该文件的唯一目的是运行命令,然后删除自身。有没有什么办法可以消除创建稍后将被删除的文件的麻烦?
我有一行命令,每个命令用分号分隔。
编辑
有人要powershell代码,这里是:
(我把它分成几行,但实际上它只是一行)
前面不带反斜杠的美元符号是对 kotlin 中变量的引用。
"\$ComObj = New-Object -ComObject WScript.Shell; " +
"\$ShortCut = \$ComObj.CreateShortcut(\"\$Env:${shortcut.absolutePath}\"); " +
"\$ShortCut.TargetPath = \"%windir%\\system32\\cmd.exe\"; " +
"\$ShortCut.Description = \"${f.nameWithoutExtension}\"; " +
"\$ShortCut.Arguments = \"/c \"\"start $url\"\"\"; " +
"\$ShortCut.FullName; \$ShortCut.WindowStyle = 7; " +
"\$ShortCut.IconLocation = \"$iconpath\"; " +
"\$ShortCut.Save(); " +
"Remove-Item \"${createPs.absolutePath}\"; "
(代码在运行之前被写入文件,这是我不想要的)
【问题讨论】:
-
为了提供一些帮助,您可以分享您编写的脚本吗?
-
@thomschumacher 我刚刚添加了powershell代码
-
您要阻止的文件是什么? sn-p?
-
@thomschumacher 代码写入文件
-
Runtime.getRuntime().exec("powershell.exe -File d:\\scriptSnippetAbove.ps1") 这就是你运行它的方式... ScriptSnippetAbove.ps1 是上面的代码吗?
标签: powershell kotlin runtime.exec