本帖最后由 WHY 于 2017-1-16 23:00 编辑
批处理中的 dir /b d:\test\????????.txt 默认搜索 0-8 个字符(包括8.3格式的短文件名),超过8个字符的短文件名一般都小于等于8个字符,实际上所有txt文件都被搜索出来了。
可以这样:- @echo off
- for /f "delims=" %%i in ('dir /b D:\Test\*.txt') do (
- set "s=%%~ni"
- setlocal enabledelayedexpansion
- if "!s:~8!" == "" if not "!s:~7!" == "" echo;!s!%%~xi
- endlocal
- )
- pause
复制代码 也可以这样:- PowerShell -c "(dir -Path D:\Test\????????.txt).Name"
复制代码 或者这样:- @if (0)==(0) echo off
- dir /b *.txt | cscript //nologo //e:jscript "%~f0"
- pause & exit
- @end
-
- WSH.StdOut.Write(WSH.StdIn.ReadAll().match(/^.{8}\.txt\r\n/gmi).join(''))
复制代码 如果不包含中文字符可以这样:- dir /b D:\Test\*.txt | findstr /i "^........\.txt$"
复制代码
|