标题: [网络连接] 批处理怎么截取一行中的非空的字符? [打印本页]
作者: qq381234916 时间: 2009-12-17 17:39 标题: 批处理怎么截取一行中的非空的字符?
@echo off &setlocal enabledelayedexpansion
for /f "delims=" %%i in ('net view') do (
set ip=%%i
if "!ip:~0,2!"=="\\" (
set "ip=!ip:~0!"
rem 到这里已经得到了 同一局域网内的所有主机 格式为 \\servername
rem 接下来我要执行的操作
net use !ip!\ipc$ "" /user:student
rem 但是在这里就出错了希望高手补充
)
)
pause
在每台主机的后面有N多空白字符,才能截取到非空白 字符\
但是不是存放到文本文件中后再截取,而是 在上面
[ 本帖最后由 qq381234916 于 2009-12-17 19:46 编辑 ]
作者: Batcher 时间: 2009-12-17 18:00
从你给出的数据来看,没有空白字符啊。能否以附件的形式上传部分数据?
作者: qq381234916 时间: 2009-12-17 18:37 标题: 回复 2楼 的帖子
附件已经上传!
我有一个局域网 想读取网内所有在线的主机
并一一执行 ipc$ 连接
作者: asnahu 时间: 2009-12-17 18:56
- @echo off
- for /f "delims=" %%i in (ip.txt) do (
- echo %%~ni
- )
- pause>nul
复制代码
作者: qq381234916 时间: 2009-12-17 19:05 标题: 回复 4楼 的帖子
%%~ni
是什么意思,可以解释下吗?
作者: Batcher 时间: 2009-12-17 19:29 标题: 回复 5楼 的帖子
for命令的帮助里面写的挺详细,你先自己看看?
作者: neorobin 时间: 2009-12-17 19:53 标题: 回复 5楼 的帖子
请用下面的代码建一个 bat 文件, 再把任何一个 文件名有空格(或所在路径有空格) 的文件拖到那个 bat 文件上, 相信显示的内容可以帮助你搞清楚 参数扩展 (也适用于 FOR 的参数)- @echo off&cls
- echo {%%1}={%1}
- echo {%%~1}={%~1}
- echo {%%~f1}={%~f1}
- echo {%%~d1}={%~d1}
- echo {%%~p1}={%~p1}
- echo {%%~n1}={%~n1}
- echo {%%~x1}={%~x1}
- echo {%%~s1}={%~s1}
- echo {%%~nx1}={%~nx1}
- echo {%%~s1}={%~s1}
- echo {%%~dp1}={%~dp1}
- echo {%%~a1}={%~a1}
- echo {%%~z1}={%~z1}
- echo {%%~t1}={%~t1}
- pause
复制代码
作者: qq381234916 时间: 2009-12-17 19:59 标题: 回复 7楼 的帖子
谢谢指点,看懂了。
可以再帮我看看上面提到的问题吗?
[ 本帖最后由 qq381234916 于 2009-12-17 20:06 编辑 ]
作者: neorobin 时间: 2009-12-17 20:44 标题: 回复 8楼 的帖子
请使用以下子程序处理相关的变量- :truncTailSpaces rem 去掉尾部若干半角空格 调用格式: call :truncTailSpaces 字符串变量名
- if "!%1:~-1!" equ " " (set %1=!%1:~0,-1!)&(call :truncTailSpaces %1)
- exit /b
复制代码
以下是测试代码和测试结果- @echo off & setlocal enabledelayedexpansion & cls
- (set aa=sdfds sdsdfs adfdsf dsfdsafdaf )
- (echo !aa!}) & (call :truncTailSpaces aa) & (echo !aa!}) & pause & exit
- :truncTailSpaces rem 去掉尾部若干半角空格 调用格式: call :truncTailSpaces 字符串变量名
- if "!%1:~-1!" equ " " (set %1=!%1:~0,-1!)&(call :truncTailSpaces %1)
- exit /b
- 测试结果:
- sdfds sdsdfs adfdsf dsfdsafdaf }
- sdfds sdsdfs adfdsf dsfdsafdaf}
复制代码
[ 本帖最后由 neorobin 于 2009-12-17 20:53 编辑 ]
作者: Batcher 时间: 2009-12-17 20:57 标题: 回复 8楼 的帖子
下次有问题,建议在顶楼一次性描述清楚。
你这样改来改去,人家4楼浪费自己的时间帮你写的代码岂不是做了无用功?久而久之,热心都变凉了。
作者: qq381234916 时间: 2009-12-17 22:42 标题: 回复 10楼 的帖子
恩,好的!下次一定注意,之前没表述清楚。谢谢各位了
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |