智能文件选择列表—— bat 批处理

智能文件选择列表 *.wim
@echo off
setlocal enabledelayedexpansion
title 智能文件选择列表

pushd %~dp0 & cd /d %~dp0

:menu
::智能文件选择列表 *.wim
if not defined wimfile call :filesel wim

if %errorlevel%==0 (
    set wimfile=%selfile%
    echo 已经选择:!wimfile!
) else (
    echo 错误:未找到 *.%suffix% 文件...
)

pause

::=================================================
goto :EOF
:filesel
::智能文件选择列表
::只有1个文件时自动选中,大于1≤100列表文件,>100则不再列表,改为手动输入;选择错误会自动返回选择菜单。
::列表菜单 空格键翻页,Q结束翻页
set "suffix=%~1"
set "errorlevel=0"
for /f %%a in (‘dir /a /b *.%suffix% 2^>nul ^| find /c /n /v ""‘) do set filenum=%%a
if %filenum% EQU 0 ( set "errorlevel=1" & goto :EOF )
if %filenum% GTR 100 (
        echo 当前文件数目大于100,列表已带来不了多少便利
        echo 请输入文件路径:
        set /p selfile=
        set selfile=!selfile:"=!
        cls & goto :EOF )
if %filenum% EQU 1 ( set select=1 ) else (
    dir /a /b *.%suffix% | find /n /v "" | more & set /p select=请输入文件编号:
)

if %select% LSS 1          ( echo 只能输入 1 - %filenum% 之间的数字 && pause>nul && goto filesel )
if %select% GTR %filenum% ( echo 只能输入 1 - %filenum% 之间的数字 && pause>nul && goto filesel )
set /a var=%select%-1

if not %var% LEQ 0 ( set "skip=skip=%var% " ) else set skip=
for /f "%skip%delims=" %%b in (‘dir /a /b *.%suffix% ^| find /v ""‘) do (
        set "selfile=%%~fb" && cls & goto :EOF
)
::=================================================
时间: 2024-08-02 13:43:44

智能文件选择列表—— bat 批处理的相关文章

BAT批处理之文件与文件夹(附xcopy命令详解)

在批处理脚本中,操作文件与文件夹的方法,包括文件的复制.删除.移动等操作,并附有xcopy命令的详细用法.原文地址:http://www.jbxue.com/article/14535.html 批处理中的文件.文件夹操作,xcopy命令的用法. 一,建bat文件自动执行复制,删除命令.例1:复制cd.dll文件至windows\system32的bat文件内容:copy cd.dll %windir%\system32例2:卸载windows\system32目录中的cd.dll,即把上面复制

设置DNS域名服务器地址BAT批处理脚本文件.bat

rem 文件名 设置DNS域名服务器地址BAT批处理脚本文件.batrem 用途 设置"无线网络连接" 的DNS域名服务器地址netsh interface ip add dns "无线网络连接" 8.8.8.8netsh interface ip add dns "无线网络连接" 8.8.4.4netsh interface ip add dns "无线网络连接" 1.2.4.8netsh interface ip add

bat批处理设置Java JDK系统环境变量文件

原文:bat批处理设置Java JDK系统环境变量文件 自己修改第3行的Java安装目录就可以设置JAVA_HOME, classPath,追加到PATH的最前面 JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10 classPath=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;. PATH=%JAVA_HOME%\bin;............     追加到PATH的最前面(解决最后该不该有分号的问题

SQL:bat批处理多个.sql文件

一.批处理文件 update.bat       设置sqlserver的实例     记得一定要配置logfile文件 @echo off :: #### B.01 database schema update for B.01 -> B.02 -> B.03 #### set LOGFILE="D:\Forklift\B01_B02toB03_Schema_Update.log" :: Tell user that the installation process is

用bat批处理程序通过DOS命令行删除所有的空文件夹

用过gothub或者码云的同学都知道,不包含任何文件的空文件夹上传提交时不被允许的.当然你可以在空文件下创建.keep文件(或.gitkeep文件),然后就可以上传了. 但是如果空文件夹比较多,并且我们确实不需要这些空文件了,那本文就学习一种命令行删除所有空文件夹的方法.并封装成.bat批处理程序.通过鼠标右键运行即可. 一,DOS删除命令 1.1,删除文件命令 del 若是想删除文件,输入del 盘符名:\文件名,比如,我想删除一个在F盘的名为123.txt的文件,则输入  del f:\12

bat 批处理修改多层文件夹名称

最近朋友一直抱怨说有一堆的文件夹需要重新修改名称,一个一个处理非常浪费时间,问有没有什么简洁的方法进行处理. 在明白了朋友的需求后,想到可以写个bat批处理文件进行处理. 首先分析下朋友的需求: 原文件夹名称及结构:D:\ ----test01 ----test02_XXXX_XXXX ----test03_XXXX_XXXX 需要将test01文件夹下的test02下划线后的内容去掉,并将文件夹test02下的test03文件夹下划线后面的内容去掉. 修改为: ----test01 ----t

android源码大放送(实战开发必备),免费安卓demo源码,例子大全文件详细列表

免费安卓demo源码,例子大全文件详细列表 本列表源码永久免费下载地址:http://www.jiandaima.com/blog/android-demo 卷 yunpan 的文件夹 PATH 列表 卷序列号为 0000-73EC E:. │ jiandaima.com文件列表生成.bat │ 例子大全说明.txt │ 本例子永久更新地址~.url │ 目录列表2016.03.10更新.txt │ ├─前台界面 │ ├─3D标签云卡片热门 │ │ Android TagCloudView云标签

BATCH(BAT批处理命令语法)

bat语法备忘扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件[@[email protected]] bat语法备忘扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件. ==== 注 ======================================= .bat是dos下的批处理文件 .cmd是nt内核命令行环境的另一种批处理文件 从 更广义的角度来看,unix的shell脚本以及其它操作系统甚至应用程序中由外

bat批处理中怎样用while循环

bat 常用命令 echo.@.call.pause.rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起. ==== 注 =========== 首先, @ 不是一个命令, 而是DOS 批处理的一个特殊标记符, 仅用于屏蔽命令行回显. 下面是DOS命令行或批处理中可能会见到的一些特殊标记符: CR(0D) 命令行结束符 Escape(1B) ANSI转义字符引导符 Space(20) 常用的参数界定符 Tab(09) ; = 不常用的参数界定符  + COPY命