循环浏览目录,暂停用户更改,在批处理文件中回显新目录的名称

时间:2019-05-17 03:46:18

标签: batch-file

我正在使用以下内容。我使用FC和COMP查看DIR生成的文件。不太清楚如何解决这个问题。

基本上我需要暂停脚本,另一个程序将创建一个新文件夹,一旦用户按下Enter键,它应该显示新文件夹的名称。

 (for /d %%i in ("%~dp0") do (

 pause>nul|set/p =Add folder..

 if exist "%~dp0%%~nxi" echo(%%~i)

 )

 cmd /k

1 个答案:

答案 0 :(得分:1)

要列出当前路径中的目录数:

这应该为您指明正确的方向,您可以立即运行它。

GetGlyphIndicesW

所有这些操作是按照所有文件夹的最新修改日期进行排序,并且仅回显最新的日期。就这么简单。

您还可以添加一个计数器,该计数器将显示文件夹数量:

@echo off
:start
echo Press Enter when you want to see the new Foldername:
pause >nul
cls
for /f %%i in ('dir /b /ad /o-d') do set "newfolder=%%i" & goto reveal
:reveal
echo New Folder is "%newfolder%"
goto start

或者,如果您想查看文件夹的完整路径,而不仅仅是它的新名称,请使用@echo off :start echo Press Enter when you want to see the new Foldername: pause >nul cls for /f %%a in ('dir ^| findstr /i "Dir(s)"') do set count=%%a for /f %%i in ('dir /b /ad /o-d') do set "newfolder=%%i" & goto reveal :reveal echo Number of folders: %count% echo Latest Folder: "%newfolder%" goto start

%%~fi

这是不需要任何用户输入的版本,它将为您检测新文件夹。

@echo off
:start
echo Press Enter when you want to see the new Foldername:
pause >nul
cls
for /f %%a in ('dir ^| findstr /i "Dir(s)"') do set count=%%a
for /f %%i in ('dir /b /ad /o-d') do set "newfolder=%%~fi" & goto reveal
:reveal
echo Number of folders: %count%
echo Latest Folder:     "%newfolder%"
goto start