gpt4 book ai didi

file - 批处理脚本编程——如何允许用户从文件夹中的文件列表中按编号选择文件?

转载 作者:行者123 更新时间:2023-12-04 22:35:02 24 4
gpt4 key购买 nike

我有一个文件夹,里面有 N 个文件。我试图弄清楚如何执行以下操作:

显示旁边带有数字的文件列表以供选择:

01 - FileA.pdf
02 - FileB.pdf
03 - FileC.pdf
...

然后,让用户通过输入相应的数字来选择他想要使用的文件。我不知道从哪里开始这个。

最佳答案

下面的批处理脚本应该做你想做的,解释如下:

@ECHO OFF
SET index=1

SETLOCAL ENABLEDELAYEDEXPANSION
FOR %%f IN (*.*) DO (
SET file!index!=%%f
ECHO !index! - %%f
SET /A index=!index!+1
)

SETLOCAL DISABLEDELAYEDEXPANSION

SET /P selection="select file by number:"

SET file%selection% >nul 2>&1

IF ERRORLEVEL 1 (
ECHO invalid number selected
EXIT /B 1
)

CALL :RESOLVE %%file%selection%%%

ECHO selected file name: %file_name%

GOTO :EOF

:RESOLVE
SET file_name=%1
GOTO :EOF

首先,这个脚本使用类似数组的东西来存储文件名。该数组填充在 FOR 循环中。对当前目录中找到的每个文件名执行一次循环体。

该数组实际上由一组变量组成,所有变量都以 file 开头并附加一个数字(如 file1file2 。该数字存储在变量 index 中,并在每次循环迭代中递增。在循环体中,该数字和相应的文件名字也被打印出来

在下一部分 SET /P 命令要求用户输入一个数字,然后将其存储在变量 selection 中。第二个 SET 命令和以下 IF 用于通过检查 fileX 变量来检查输入的数字是否会给出有效的数组索引。

最后使用 RESOLVE子程序将 file+ selection中输入的数字组成的变量的内容复制到一个名为 file_name的变量中,然后可以用于进一步处理。

希望能给一些提示。

关于file - 批处理脚本编程——如何允许用户从文件夹中的文件列表中按编号选择文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8913107/

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