中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 22:45
47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » 怎么判断路径中有多少个字节?(不是字符)
可打印版本  800 / 5
第1楼 bluewaterx 发表于 2008-09-28 13:09
初级用户 发帖 68 积分 132
怎么判断路径中有多少个字节?(不是字符)
中文占两个字节,有些字符也占两个字节
比如:判断c:\program files\聊天软件\〓\你好.exe

一个字符=2字节


第2楼 bluewaterx 发表于 2008-09-28 13:19
初级用户 发帖 68 积分 132
VBSCRIPT中有LENB,不过不会用
第3楼 bluewaterx 发表于 2008-09-28 13:38
初级用户 发帖 68 积分 132
Dim s
s="c:\program files\聊天软件\〓\你好.exe"
s=Lenb(s)
msgbox s
第4楼 slore 发表于 2008-09-28 17:30
铂金会员 发帖 2,478 积分 5,212
VBS使用的是unicode,即中英文均采用双字节!!!!!!

所以

Dim s
s = "c"
s = Lenb(s)
MsgBox s '结果为2

你要区分自己 Asc 下然后判断是不是1~127
第5楼 hackate 发表于 2008-09-28 18:49
中级用户 发帖 125 积分 228
@echo off&setlocal enabledelayedexpansion
set/p input=输入:
set str=%input%

if not "%str%" == "" (
for /f "skip=1 delims=:" %%i in ('^(echo %str%^&echo.^)^|findstr /o ".*"') do set/a l=%%i-3
)

echo 您查找的 %input% 共 %l% 个字节
pause>nul
exit

这样速度还不错,之前做了过多无聊的工作

[ Last edited by hackate on 2008-9-28 at 20:18 ]
第6楼 hackate 发表于 2008-09-28 19:14
中级用户 发帖 125 积分 228
查字节数,直接存下不就好了。
@echo off
set/p input=输入:
echo %input%>tmp.txt
for %%i in ("tmp.txt") do set n=%%~zi
set/a n-=2
echo 您查找的 %input% 共 %n% 个字节
pause>nul

==============
此代码乃Slore兄给的方式,比我的效率高多了.呵呵..实在不错
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023