标题: 通配符“?”问题
[打印本页]
作者: radem
时间: 2008-7-17 12:07
标题: 通配符“?”问题
Quote: |
- @echo off
- for /d %%i in ("%cd%"\?????) do echo %%i
- pause
Radem 发表于: 2008-07-17 11:57 |
|
Q1:
运行上面代码,则列出当前目录下1-5个字符之目录
但为什么超过5字符的也列出来:
Quote: |
...\批处理\批处理诗
...\批处理\批处理隐藏运行的11种思路
...\批处理\BAT加密
...\批处理\奇特加密解密
...\批处理\test
...\批处理\经典代码
...\批处理\批处理资料
请按任意键继续. . . |
|
是短文件名造成的吗?
Q2:
如何才能只列出5字符而不列出1-4字符的目录?
作者: HAT
时间: 2008-7-17 13:41
dir /ad /b | sed -n "/^......$/p"
作者: radem
时间: 2008-7-17 17:50
Quote: |
Originally posted by HAT at 2008-7-17 01:41 PM:
dir /ad /b | sed -n "/^......$/p" |
|
No use
作者: bat-zw
时间: 2008-7-17 17:59
指定列出5个字符的目录名:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /s /ad /b') do (
set str=%%~ni
if "!str:~5!" equ "" if "!str:~4!" neq "" echo %%i
)
pause>nul
[
Last edited by zw19750516 on 2008-7-17 at 06:20 PM ]
作者: HAT
时间: 2008-7-17 18:13
在确定是不是no use之前,能否确认一下你有没有sed.exe,版本是什么?
作者: 26933062
时间: 2008-7-17 18:15
Quote: |
Originally posted by HAT at 2008-7-17 18:13:
在确定是不是no use之前,能否确认一下你有没有sed.exe,版本是什么? |
|
sed 的点 应该是匹配一个字节吧,若文件名含有中文,是否会显示错误呢?
作者: radem
时间: 2008-7-18 00:19
Quote: |
Originally posted by HAT at 2008-7-17 06:13 PM:
在确定是不是no use之前,能否确认一下你有没有sed.exe,版本是什么? |
|
有,Ver:4.0.7x