我在网上找到了这个代码,它允许我使用GUI选择一个文件夹。有人可以向我解释这是如何工作的,以及我如何从中获得输出。我希望我能得到一个输出并将其分配给变量。
注意:我没有这样做。我只是在另一个堆栈溢出帖子上在线发现它。
:: fchooser.bat
:: launches a folder chooser and outputs choice to the console
:: http://stackoverflow.com/a/15885133/1683264
@echo off
setlocal
set "psCommand="(new-object -COM 'Shell.Application')^
.BrowseForFolder(0,'Please choose a folder.',0,0).self.path""
for /f "usebackq delims=" %%I in (`powershell %psCommand%`) do set "folder=%%I"
setlocal enabledelayedexpansion
echo You chose !folder!
endlocal
非常感谢, ChapelCone56
答案 0 :(得分:0)
set "psCommand="(new-object -COM 'Shell.Application')^.BrowseForFolder(0,'Please choose a folder.',0,0).self.path""
它正在为Windows创建一个新的powershell对象来调用浏览文件夹对话框
FOR /F
针对其他命令的结果循环命令。
usebackq
使用不同的引用样式
powershell %psCommand%
创建另一个对象可以使用的pipileline
set "folder=%%I"
将文件夹变量设置为选择的文件夹名称
echo You chose !folder!
显示选择
如果您想使用所选的文件夹名称,请使用变量文件夹,其值可以在!文件夹中找到!