【发布时间】:2018-09-10 08:15:04
【问题描述】:
我在 Visual Studio 2017 中设置了一些构建后命令,这些命令应该允许我运行我目前在 System32 (wsl.exe) 中拥有的程序。但是,Visual Studio 看不到该程序。
我尝试将命令设置为 dir C:\Windows\System32\ 以查看它可以列出的所有文件,实际上它没有列出我那里大约 4'600 个文件中的 1'000 个以上的文件,包括wsl.exe 我正在尝试运行的文件。在命令提示符下运行同一命令时,文件数会正确显示。
我尝试将whoami 作为构建后命令运行,它返回的用户与我在命令提示符下运行相同的命令一样。
我错过了什么吗?
【问题讨论】:
-
这与 Visual Studio 有什么关系?
wsl是 Linux 的 Windows 子系统。它不仅仅是任何可执行文件。您可以从任何文件夹运行它,因为它在路径中。只需输入wsl。 -
这与 Visual Studio 有关,因为它在执行
dir命令时根本看不到wsl文件。我知道我可以从任何文件夹运行它,因为它抛出了错误"wsl is not recognized as an internal or external command, operable program or batch file.",我尝试了更多步骤并得出结论,在构建后命令中运行dir,它没有显示所有目录中的文件。所有这一切,而我可以使用 Windows 命令提示符正确查看文件 -
1) 没有复制。我可以看到它并称之为很好 2)它与VS无关。
dir是一个命令行命令。您在问为什么在 System32 中看不到某些文件,而没有指定这些文件是什么。 3) 什么wsl?它甚至存在吗?安装了吗?您是否尝试从构建后步骤启动 Unix shell? -
关于你的数字2):那么在VS中运行
dircommand为什么不显示wsl.exe文件,而在WSL中运行ls -al /mnt/c/Windows/System32会显示它,并且在命令提示符下运行` dir C:\Windows\System32` 也显示了它。对于您的 3 号):我已经在帖子中澄清说确实 我目前在 System32 (wsl.exe) 中拥有,所以是的,它确实存在。
标签: windows visual-studio batch-file post-build-event post-build