0

我有问题。我需要我的代码列出一个大目录中的所有文本文件,并在每个全屏时暂停。我进行了设置,以便用户能够输入列表中每个 txt 文件旁边列出的数字,但 /p 参数拒绝暂停列表...

DIR SAVES\*.txt /B /P |FIND /V /N "//"
ECHO.
ECHO (Press "Q" to EXIT to the main menu)
ECHO.
CHOICE /C DLVQ /N /M "Would you like to DELETE, LOAD, or VIEW a file [D/L/V]?"
     IF ERRORLEVEL 4 GOTO MENU
     IF ERRORLEVEL 3 GOTO VIEW
     IF ERRORLEVEL 2 GOTO LOAD1
     IF ERRORLEVEL 1 GOTO DELETE

:DELETE
ECHO.
SET /P C=Choose the file number [#] to DELETE (and press ENTER):
FOR /F "usebackq tokens=1,2* delims=[]" %%d IN (`DIR SAVES\*.txt /B ^|FIND /V /N "//"`) DO (
    IF /I !C! EQU q (GOTO MENU)
    IF !C! EQU %%d (
        ECHO.
        CHOICE /N /M "Are you sure you want to DELETE %%e [Y/N]?"
            IF ERRORLEVEL 2 GOTO LOAD       
        DEL /Q "SAVES\%%e"
        DEL /Q "SAVES\"%%~ne"_stats"
        IF EXIST "SAVES\%%e" (
            IF EXIST "SAVES\"%%~ne"_stats" (
                GOTO DELETE1

该文件夹可能有数百个 txt 保存文件,我需要能够在其自己的 cmd 窗口中运行此脚本并在屏幕填满信息时暂停。将我的整个实用程序作为 .bat 运行意味着没有滚动条可供用户查看所有文件。如何使 /P 暂停参数起作用?

4

1 回答 1

3

您正在通过管道输出dirto findfind本身不进行分页,只是输出它在输入中匹配的任何内容。在这种情况下, dir 本身无法进行分页,因为 find 将无法进行输入以前进到下一页,因此您有效地禁用了分页。

尝试

dir | find | more
于 2013-02-15T14:37:55.740 回答