![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 07:03 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 提取计算机名称中的后三位 |
| 可打印版本 801 / 4 |
| 第1楼 iamqiuhui | 发表于 2009-02-02 13:13 |
| 初级用户 发帖 17 积分 28 | |
|
提取计算机名称中的后三位 比如计算机名称为xc005
我想提取后三位,然后保存到一个文件,或者保存到一个变量! hostname >hostname.txt 下边的不知道了! 应该如何操作。 谁可以告诉我!!! 谢谢! 转移自 DOS学习入门 & 精彩文章 (教学室) 从你所需要的结果来看你的问题似乎不属于 DOS 范畴,今后发帖请尽量发到对应的版块。 ——管理员 |
|
| 第2楼 523066680 | 发表于 2009-02-02 16:19 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
可能这个可以 我不太了解
%USERDOMAIN:~-3%>hostname.txt 如果不对 多一步咯 hostname>hostname.txt set /p a=<hostname.txt echo,%a:~-3%>hostname.txt (如果说的是纯dos 那我就不知道了) [ Last edited by 523066680 on 2009-2-2 at 16:21 ] |
|
| 第3楼 iamqiuhui | 发表于 2009-02-03 13:24 |
| 初级用户 发帖 17 积分 28 | |
|
set /p a=<hostname.txt
echo,%a:~-3%>hostname.txt set /p中的/p可以省略吗,我省略了,结果是hostname.txt里面的内容. echo,%a:~3%>hostname.txt这句怎么理解? 最后的结果并没有出现后三位啊! 我发现这样就可以了: @echo off hostname>hostname.txt for /f %%h in (hostname.txt) do set m=%%h echo 计算名为: echo %m% set nodename=%m:~2% echo nodename为: echo %nodename%&&pause>nul 不过不明白,为什么在for语句中不可以直接截取后三位: 如: for /f %%h in (hostname.txt) do set nodename=%%h:~3% 这样的话,命令会识别为nodename=x:~3% 有人指点下吗? |
|
| 第4楼 523066680 | 发表于 2009-02-03 17:13 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
呕心沥血地说…… 用什么方法得 看条件 ,环境。。。。。。
而且我越看你说的越晕 %computername:~-3%就是了 你那台 %computername:~2%也可以 因为你那个是5个字符组成的计算机名 %computername:~-3%是为了通用 注意: 是 -3 (楼主是指纯DOS环境么 那个我就不懂了 ) [ Last edited by 523066680 on 2009-2-3 at 17:30 ] |
|
| 第5楼 wxcute | 发表于 2009-02-03 21:20 |
| 中级用户 发帖 211 积分 458 | |
|
用 hostname 命令:
或如楼上据说,用系统环境变量 %computerName% echo %computerName:~-3% pause 注意有个负号。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |