2013-02-15 94 views
0

我遇到問題。我需要我的代碼來列出大目錄中的所有文本文件,並在每個全屏幕中暫停。我把它使用戶能夠輸入被列在列表中的每個txt文件旁邊而是/ p參數拒絕暫停列表中的號碼...DIR/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暫停參數起作用?

回答

3

您正在將dir的輸出傳送到findfind本身不會分頁,只是輸出與輸入中匹配的任何內容。 dir本身無法在這種情況下進行分頁,因爲find會無法做出輸入以進入下一頁,因此您已經有效地禁用了分頁。

嘗試

dir | find | more 
+0

哇靠人這麼簡單,天才!太感謝了!!! – Gorgrak 2013-02-15 15:01:37