从批处理文件中选择文件对话框,并单独选择文件路径和文件名



我需要一个对话框内的批处理文件,可以选择一个文件的路径和文件名以及

例如:

http://pastebin.com/ag8avdWw

然而,这段代码需要。net框架-有没有解决方案不需要像。net框架?

这是一个批处理文件,允许你选择一个文件,并获得pathfilename,并使用Powershell获得选择器。

编辑:您的powershell execution policy必须更改,以允许您在启动批处理文件时出现文件选择框之前运行您编写的脚本。

如果您想在另一个驱动器或文件夹中启动,请更改"c:"

@echo off
:loop
set "tempfile=%temp%file-%random%"
if exist "%tempfile%" goto :loop
call :getfile "c:"
for /f "delims=" %%a in ('powershell "%tempfile%.ps1" ') do (
   set "filepath=%%~dpa"
   set "filename=%%~nxa"
)
del "%tempfile%.ps1"
echo  path is: "%filepath%"
echo  file is: "%filename%"
pause
goto :EOF
:getfile
(
echo $initialDirectory = "%~1"
echo [System.Reflection.Assembly]::LoadWithPartialName^("System.windows.forms"^) ^| Out-Null
echo $OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
echo $OpenFileDialog.initialDirectory = $initialDirectory
echo $OpenFileDialog.filter = "All files (*.*)| *.*"
echo $OpenFileDialog.ShowDialog^(^) ^| Out-Null
echo $OpenFileDialog.filename
) > "%tempfile%.ps1"
goto :EOF

相关内容

  • 没有找到相关文章

最新更新