从 CSI 脚本获取脚本路径的最佳方法是什么?我希望能够#load
从在不同目录中运行的脚本编辑我的脚本,并且仍然可以访问它自己的目录并且不受工作目录的影响。我在 docs 中找不到类似 nodejs 的__dirname
常量。
问问题
385 次
1 回答
1
目前,我能找到找出当前正在执行的脚本目录的最佳方法非常冗长。我想知道是否有一些我不知道的快捷方式/内置,但这里有:
GetMineDirectory.csx
:
#!/usr/bin/env csi
using System;
using System.IO;
using System.Runtime.CompilerServices;
static string GetMyPath(
[CallerFilePath] string path = "")
=> path;
// Do not write in terms of GetMyPath() in case we are called from another script.
static string GetMyDirectory(
[CallerFilePath] string path = "")
=> Path.GetDirectoryName(path);
Console.WriteLine($"My full path is {GetMyPath()}");
Console.WriteLine($"My directory is {GetMyDirectory()}");
于 2017-10-18T15:49:26.830 回答