为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

当年话下 2019-07-10 16:47:11
Windows批处理脚本中的文件/文件夹选择器对话框通常,要求用户向批处理脚本提供文件名是一件很麻烦的事情,不需要拼写错误,不需要带空格的路径引号,等等。不幸的是,用户并不以准确性而闻名。在直到运行时才知道输入文件位置的情况下,使用GUI进行文件选择输入可以减少用户出错的可能性。是否有一种方法来调用File... Open来自Windows批处理脚本的Gui文件选择器还是文件夹选择器?如果脚本用户安装了PowerShell或.NET,则有可能。见下面的答案。我还想看看其他人还能提供什么解决方案。
查看完整描述

3 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

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有关有效值的列表。


查看完整回答
反对 回复 2019-07-10
  • 3 回答
  • 0 关注
  • 2362 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信