注册
登录
论坛
搜索
帮助
导航
私人消息 (0)
公共消息 (0)
论坛任务 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
批处理之家
»
BAT求助&讨论
» 批处理for打开就一闪,想问下为什么不会停留?
[新手上路]
批处理新手入门导读
[视频教程]
批处理基础视频教程
[视频教程]
VBS基础视频教程
[批处理精品]
批处理版照片整理器
[批处理精品]
纯批处理备份&还原驱动
[批处理精品]
CMD命令50条不能说的秘密
[在线下载]
第三方命令行工具
[在线帮助]
VBScript / JScript 在线参考
返回列表
发帖
qhmpv
发短消息
加为好友
qhmpv
当前离线
UID
93687
帖子
13
精华
0
积分
25
PB
25
技术
0
捐助
0
阅读权限
5
在线时间
9 小时
注册时间
2019-6-3
最后登录
2019-7-7
列兵
帖子
13
积分
25
技术
0
捐助
0
注册时间
2019-6-3
1
楼
跳转到
»
倒序看帖
打印
字体大小:
t
T
发表于 2019-6-14 23:24
|
显示全部帖子
[其他]
批处理for打开就一闪,想问下为什么不会停留?
最近在自学批处理 ,写一个简单的看看能得到怎么样的效果,但是打开就一闪,想问下为什么不会停留,还有如果想把echo %%i 的内容写到一个txt里,是不是在后面加一个>>a.txt就可以了,请各位大神指教,谢谢!!
@echo off
cd /d %~dp0
for /f %%i in(123.txt) do echo %%i
pause
复制代码
收藏
分享
qhmpv
发短消息
加为好友
qhmpv
当前离线
UID
93687
帖子
13
精华
0
积分
25
PB
25
技术
0
捐助
0
阅读权限
5
在线时间
9 小时
注册时间
2019-6-3
最后登录
2019-7-7
列兵
帖子
13
积分
25
技术
0
捐助
0
注册时间
2019-6-3
2
楼
发表于 2019-6-15 16:46
|
显示全部帖子
回复
2#
zaqmlp
感谢大神的回复,我想问下上面我那个有什么问题,因为我想看看每次参数后的结果,你这个加了delims结果就变了,谢谢!!
TOP
qhmpv
发短消息
加为好友
qhmpv
当前离线
UID
93687
帖子
13
精华
0
积分
25
PB
25
技术
0
捐助
0
阅读权限
5
在线时间
9 小时
注册时间
2019-6-3
最后登录
2019-7-7
列兵
帖子
13
积分
25
技术
0
捐助
0
注册时间
2019-6-3
3
楼
发表于 2019-6-15 21:26
|
显示全部帖子
回复
4#
zaqmlp
你好,经过试验,(for不是内部命令,所以for不用加(),然后试验的结果为什么跟学的不一样,学习的内容是这样的:
for /f %%i in (a.txt) do echo %%i
还是先从括号执行,因为含有参数/f,所以for会先打开a.txt,然后读出a.txt里面的所有内容,把它作为一个集合,并且以每一行作为一个元素,所以会产生这样的集合,
{“第1行第1列 第1行第2列 第1行第3列”, //第一个元素
“第2行第1列 第2行第2列 第2行第3列”, //第二个元素
“第3行第1列 第3行第2列 第3行第3列”} //第三个元素
集合中只有3个元素,同样用%%i依次代替每个元素,然后执行do后面的命令。
具体过程:
用%%i代替“第1行第1列 第1行第2列 第1行第3列”,执行do后面的echo %%i,显示“第1行第1列 第1行第2列 第1行第3列”,
用%%i代替“第2行第1列 第2行第2列 第2行第3列”,执行echo %%i,显示“第2行第1列 第2行第2列 第2行第3列”,
依次,直到每个元素都代替完为止。
但是我编的是到空格为止就算一行内容完了,并没有第一行第一列,第一行第二列……
123.txt
@echo
title
color
cd
更改当前目录为批处理本身的目录(%0代表批处理本身,
for
for
if
xcopy
echo.成功复制"%%i"到"%%s"文件夹
)
)
)
pause
TOP
qhmpv
发短消息
加为好友
qhmpv
当前离线
UID
93687
帖子
13
精华
0
积分
25
PB
25
技术
0
捐助
0
阅读权限
5
在线时间
9 小时
注册时间
2019-6-3
最后登录
2019-7-7
列兵
帖子
13
积分
25
技术
0
捐助
0
注册时间
2019-6-3
4
楼
发表于 2019-6-15 21:29
|
显示全部帖子
然后我加了一个"delims=",居然显示的是所有内容,不是应该以空格为分割么??
TOP
qhmpv
发短消息
加为好友
qhmpv
当前离线
UID
93687
帖子
13
精华
0
积分
25
PB
25
技术
0
捐助
0
阅读权限
5
在线时间
9 小时
注册时间
2019-6-3
最后登录
2019-7-7
列兵
帖子
13
积分
25
技术
0
捐助
0
注册时间
2019-6-3
5
楼
发表于 2019-6-16 16:18
|
显示全部帖子
回复
8#
Batcher
我是在这里看的:https://blog.csdn.net/DavidHsing/article/details/1996180,看了想写一个简单的看看结果怎么样的,但出来的跟他教的好像不一样
TOP
qhmpv
发短消息
加为好友
qhmpv
当前离线
UID
93687
帖子
13
精华
0
积分
25
PB
25
技术
0
捐助
0
阅读权限
5
在线时间
9 小时
注册时间
2019-6-3
最后登录
2019-7-7
列兵
帖子
13
积分
25
技术
0
捐助
0
注册时间
2019-6-3
6
楼
发表于 2019-6-16 16:26
|
显示全部帖子
回复
9#
Batcher
管理员大神,我还想问下, ( 023-0049 阀芯.dwg) 这样的文件名,我想根据前面023-0049这个数字把文件放到相应的文件夹里怎么表标:
for /f "delims=*/" %%i in ('dir /a-d/b "* *.dwg"') do ?
TOP
qhmpv
发短消息
加为好友
qhmpv
当前离线
UID
93687
帖子
13
精华
0
积分
25
PB
25
技术
0
捐助
0
阅读权限
5
在线时间
9 小时
注册时间
2019-6-3
最后登录
2019-7-7
列兵
帖子
13
积分
25
技术
0
捐助
0
注册时间
2019-6-3
7
楼
发表于 2019-6-17 11:37
|
显示全部帖子
回复
15#
Batcher
为什么我输入 c:\ test.bat 显示命令语法不正确?
TOP
qhmpv
发短消息
加为好友
qhmpv
当前离线
UID
93687
帖子
13
精华
0
积分
25
PB
25
技术
0
捐助
0
阅读权限
5
在线时间
9 小时
注册时间
2019-6-3
最后登录
2019-7-7
列兵
帖子
13
积分
25
技术
0
捐助
0
注册时间
2019-6-3
8
楼
发表于 2019-6-17 15:39
|
显示全部帖子
回复
18#
Batcher
上面那个空格是我打的时候多打的,我在CMD里输的没有空格,还有你下面的这个程序里,MD "%%i"???不是 md "%%~ni"?
%%~ni不是扩展到文件夹名么??
TOP
qhmpv
发短消息
加为好友
qhmpv
当前离线
UID
93687
帖子
13
精华
0
积分
25
PB
25
技术
0
捐助
0
阅读权限
5
在线时间
9 小时
注册时间
2019-6-3
最后登录
2019-7-7
列兵
帖子
13
积分
25
技术
0
捐助
0
注册时间
2019-6-3
9
楼
发表于 2019-6-17 15:50
|
显示全部帖子
回复
18#
Batcher
管理员大大,你这是回的我私信你的内容吗?试了不行,%%j不需要定义吗? 然后提示系统找不到指定的文件
TOP
返回列表
批处理专区: BAT CMD DOS
BAT求助&讨论
BAT教程&资料
BAT原创&转载
BAT新大陆
BAT转载代码
新手练功
出题挑战
有偿求助
第三方命令行
开源原创工具
iBAT
Take Command
其他脚本区
PowerShell求助&讨论
PowerShell教程&资料
PowerShell原创&转载
VBS求助&讨论
JS / JScript / JavaScript
VBS教程&资料
VBS原创&转载
UNIX/Linux Shell
Python
Perl
网络资源区
电脑技术研讨
精品软件交流
论坛事务区
站务交流
意见反馈
论坛公告
版主申请
交换链接
建站杂谈
活动专区
论坛总版规
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]