我有以下批处理脚本打开从中我需要的姓名和所选文件的路径的文件选择对话框(我的操作系统是Windows 7 64Bit
):批处理脚本打开当前目录或选择使用PowerShell/vbscrpt命令的目录
@echo off
setlocal
> "%temp%\fileSelectorDialog.vbs" (
echo DIM objFile
echo Set objShell = CreateObject^("Shell.Application" ^)
echo Do
echo Set objFile = objShell.BrowseForFolder^(0,"Select a file",^&H4000,""^)
echo on error resume next
echo if objFile.Items.Item.Path = Null OR objFile is nothing OR err.number ^<^> 0 then
echo wscript.echo "ERROR"
echo wscript.quit
echo end if
echo wscript.echo objFile.ParentFolder.ParseName^(objFile.Title^).path
echo if instr^(objFile.items.item.path,"."^)^>0 then
echo wscript.echo objFile.Items.Item.Path
echo wscript.quit
echo end if
echo Msgbox "Please try again to choose a file rather than a folder. " ^& objFile.items.item.path
echo Loop
)
set file=ERROR
for /f "tokens=*" %%a in ('cscript //nologo "%temp%\fileSelectorDialog.vbs"') do set file=%%a
if "%file%"=="ERROR" (
echo There was an error or you cancelled
) ELSE (
echo Path chosen was %file%
)
pause
但是这段代码只允许基本的“Computers”路径作为我触发时打开的初始目录,而我需要将我当前的目录(执行脚本的目录)作为初始目录当文件选择被触发时。
有人可以帮助我通过Vbscript/Jscript或Powershell来实现吗?
这个脚本,当我通过点击它来执行它时,它只是打开命令窗口并保持空白,并且文件对话框根本不会打开。 –
更改批次以显示当前目录,请检查运行时显示的内容。我打算你做了一个完整的复制/粘贴。你尝试使用本地驱动器吗? – LotPings
是在本地驱动器上试过,但GUI文件对话框从不出现,正如我之前所说的,初始目录路径是正确的,但我不明白它为什么不打开GUI文件选择对话框,如Windows操作系统本地文件? –