Windows批处理脚本中的文件/文件夹选择器对话框

Windows批处理脚本中的文件/文件夹选择器对话框

通常,要求用户向批处理脚本提供文件名是一件很麻烦的事情,不需要拼写错误,不需要带空格的路径引号,等等。不幸的是,用户并不以准确性而闻名。在直到运行时才知道输入文件位置的情况下,使用GUI进行文件选择输入可以减少用户出错的可能性。

是否有一种方法来调用File... Open来自Windows批处理脚本的Gui文件选择器还是文件夹选择器?

如果脚本用户安装了PowerShell或.NET,则有可能。见下面的答案。

我还想看看其他人还能提供什么解决方案。


当年话下
浏览 2363回答 3
3回答

慕码人2483693

Windows脚本主机文件选择WindowsXP有一个神秘的UserAccounts.CommonDialogWSH对象它允许VBScript以及启动文件选择提示符的JScript。显然,那是视为安全风险并在Vista中删除。文件夹选择但是,WSH Shell.Application对象BrowseForFold方法仍然允许创建文件夹选择对话框。下面是一个混合批处理+JScript示例。将其保存在.bat分机。@if (@a==@b) @end /*:: fchooser2.bat:: batch portion@echo off setlocalfor /f "delims=" %%I in ('cscript /nologo /e:jscript "%~f0"') do (     echo You chose %%I)goto :EOF:: JScript portion */var shl = new ActiveXObject("Shell.Application");     var folder = shl.BrowseForFolder(0, "Please choose a folder.", 0, 0x00);WSH.Echo(folder ? folder.self.path : '');在BrowseForFolder()方法时,第四个参数指定层次结构的根。看见ShellSpecialFolderConstant有关有效值的列表。
打开App,查看更多内容
随时随地看视频慕课网APP