После быстрого исследования и локального тестирования я считаю, что "Путь", возвращаемый командой, - это путь к файлу или каталогу, который вы ищете. Дескриптор файла не только для файла, но и для папки. Хитрость здесь в том, что дескриптор файла не всегда удерживается. Фактически, большинство приложений выпускают дескриптор файла, как только они открывают файл, как блокнот. Поэтому, когда вы запускаете команду, большую часть времени вы можете видеть только дескриптор папки, а не файлы.
Чтобы убедиться в этом, я проверил код ниже:
static void Main(string[] args)
{
string path = args[0];
var file=File.Open(path, FileMode.OpenOrCreate);
Console.WriteLine("Press any key to release the handle");
Console.ReadKey();
file.Close();
}
При исключении File.Open
процесс удерживает дескриптор, затем я запускаю Get-AzStorageFileHandle
. Дескриптор "test.csv" отображается:
Но если открыть файл с помощью блокнота, отображается только дескриптор для папки.
В любом случае, вы можете использовать возвращенный «путь», чтобы определить, какой файл хранится у других.
Кстати, handle.exe не применяется для облачной среды. Вы не должны использовать это.