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

dirの出力をto にパイプしていますfindfindそれ自体はページネーションを行わず、入力で一致するものを単に出力します。この場合、dir 自体はページネーションを実行できません。これは、find が次のページに進むための入力を実行できないため、ページネーションを効果的に無効にしたためです。

試す

dir | find | more
于 2013-02-15T14:37:55.740 に答える