Bat调用/弹出文件或文件夹选择对话框

该文章提供了一种方法,通过VBS和JavaScript代码来创建弹出的文件和文件夹选择对话框。用户可以选择指定路径的文件或文件夹,选择结果通过脚本处理并显示出来。示例代码包括了如何利用WindowsShell对象实现这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

弹出文件夹选择框

@echo off
rem 弹出文件夹浏览选择对话框
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
(echo;Set sa=CreateObject^("Shell.Application"^)
echo;Set item=sa.Namespace^(0^).Self
echo;Set objfolder=sa.BrowseForFolder^(0, "Select a Folder:", 0, item.Path^)
echo;If objfolder Is Nothing Then
echo; WSH.Quit
echo;End If
echo;Set objitem=objfolder.Self
echo;WSH.echo objitem.Path)>"%tmp%\v.v"
for /f "delims=" %%a in ('cscript -nologo -e:vbscript "%tmp%\v.v"') do echo;"%%a"
echo;%#% +%$%%$%/%@% %z%
pause
exit

实例
在这里插入图片描述

文件选择框

<!-- :
@echo off
@SET sqlfile=D:\file
for /f "delims=" %%a in ('mshta "%~f0"') do  SET sqlfile=%%a
pause&exit /b
-->

<input type=file id=f>
<script>
f.click();new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(f.value);close();
</script>

文件夹选择框

<!-- :
@echo off
for /f "delims=" %%a in ('mshta "%~f0"') do echo;%%a
pause&exit /b
-->

<script>
var Shell = new ActiveXObject("Shell.Application");
var Folder = Shell.BrowseForFolder(0, "请选择文件夹", 0); //起始目录为:桌面
if (Folder != null) {
    Folder = Folder.items();
    Folder = Folder.item();
    Folder = Folder.Path;
    new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Folder);
}
close();
</script>

实例
在这里插入图片描述

转载:http://www.bathome.net/thread-34496-1-2.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值