我需要(在Powershell脚本中)确定存储库中所有可能的控制器文件名。这是一个测试,它将命中每个控制器并验证其是否正常运行,并且不会从启动文件中丢失。 (MVC应用)
由于所有文件都是DLL,所以我不能简单地在文件夹中索要文件,也不想对名称进行硬编码。如何在某个文件夹中获取文件列表,以便在Powershell脚本中调用每个文件夹进行测试?
也许更好的方法是: 如何列出存储库内文件夹中的文件? (使用Powershell脚本)
答案 0 :(得分:1)
您可以参考以下文档:Interacting with Azure Web Apps Virtual File System using PowerShell and the Kudu API。它使用wiki doc中的VFS API
。并且有一个api可以在path指定的目录中列出文件。
GET /api/vfs/{path}/
Lists files at directory specified by path.
在之前的文档中,标题为从App Service下载文件下,有一个脚本来下载文件。我使用不带$kuduPath
的路径列出文件。而且,您需要通过PowerShell获取Kudu REST API授权标头。然后脚本就是这样。
$kuduApiUrl="https://<webname>.scm.azurewebsites.net/api/vfs/site/wwwroot/"
Invoke-RestMethod -Uri $kuduApiUrl `
-Headers @{"Authorization"=$kuduApiAuthorisationToken;"If-Match"="*"} `
-Method GET `
-OutFile $localPath `
-ContentType "multipart/form-data"
这是结果图片。它将列出所有文件和文件夹。
希望这对您有帮助,如果您还有其他问题,请告诉我。