gpt4 book ai didi

file - 从 cmd 打开 "open"-对话框

转载 作者:行者123 更新时间:2023-12-01 00:53:16 25 4
gpt4 key购买 nike

我想知道我是否可以从 cmd 打开“打开”对话框,以便我可以使用它来选择要打开的正确文件。(我已经知道如何直接从cmd打开文件,但这不是我感兴趣的)

目前我正在做一个使用程序(例如 program.exe)的项目。该程序需要一个模型文件(例如 modelfile.mod)。我通过编写以下命令在 CMD 中执行程序:program.exe modelfile.mod,它可以工作。我有许多不同名称的模型文件,但程序文件始终具有相同的名称。我不想在每次需要执行程序时都在 CMD 中写入,而是想创建一个批处理,我可以在其中选择我喜欢执行的 modfile,然后它以所选的 modfile 作为输入来执行程序。

因此我需要知道如何从 cmd 打开“打开”对话框,以及如何获取所选文件的名称以用于执行程序。

最佳答案

如果您安装了 PowerShell,您可以执行如下操作:

@echo off
setlocal
set ps_cmd=powershell "Add-Type -AssemblyName System.windows.forms|Out-Null;$f=New-Object System.Windows.Forms.OpenFileDialog;$f.Filter='Model Files (*.mod)|*.mod|All files (*.*)|*.*';$f.showHelp=$true;$f.ShowDialog()|Out-Null;$f.FileName"

for /f "delims=" %%I in ('%ps_cmd%') do set "filename=%%I"

if defined filename (
echo You chose %filename%
) else (
echo You didn't choose squat!
)

goto :EOF

或者,如果您想分解 powershell cmdlet 以便于维护:

@echo off
setlocal
set "ps=Add-Type -AssemblyName System.windows.forms | Out-Null;"
set "ps=%ps% $f=New-Object System.Windows.Forms.OpenFileDialog;"
set "ps=%ps% $f.Filter='Model Files (*.mod)|*.mod|All files (*.*)|*.*';"
set "ps=%ps% $f.showHelp=$true;"
set "ps=%ps% $f.ShowDialog() | Out-Null;"
set "ps=%ps% $f.FileName"

for /f "delims=" %%I in ('powershell "%ps%"') do set "filename=%%I"

if defined filename (
echo You chose %filename%
) else (
echo You didn't choose squat!
)

goto :EOF

(PowerShell 命令无情地从 Just Tinkering Blog 中提取。)参见 OpenFileDialog Class您可以设置的其他属性的文档,例如 TitleInitialDirectory

关于file - 从 cmd 打开 "open"-对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15644511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com