标题: [文件操作] 请问大家2个批处理问题 [打印本页]
作者: 娜美 时间: 2024-4-22 15:55 标题: 请问大家2个批处理问题
1. 请问下为什么在子文件夹里的文本第一行会发生1个点符号?而在当前目录下的文本并不会有这种情况- for /r %%a in (*.txt) do (
- echo.
- echo Thanks
- )>%%a.tmp
-
- 在当前目录下的子文件夹里的文本会发生1个点符号
- D:\A\W\t.txt
- .
- Thanks
复制代码
在当前目录下的文本不会复制代码
另外
2. 请问怎么才能拼接成1行- for /r %~dp0 %%a in ("*.txt") do (
- echo %%~nxa ===
- coder -s -a gc -f "%%a"
- echo.
- )>>out.tmp
-
- W.txt ===
- ANSI
复制代码
拼接成1行样式复制代码
作者: ShowCode 时间: 2024-4-22 16:30
回复 1# 娜美
echo %%~nxa ===
改成:
set /p =%%~nxa === <nul
作者: 娜美 时间: 2024-4-22 16:44
回复 2# ShowCode
谢谢解答了第二个问题
作者: 咒语 时间: 2024-4-23 16:34
本帖最后由 咒语 于 2024-4-23 16:41 编辑
第一个我试了一下,echo.后面加空格就不会有“.”了,但是会多一个空格,我也不知道是什么原因。我也试了echo\也是一样的,但是echo=就可以
作者: ShowCode 时间: 2024-4-23 17:07
回复 4# 咒语
echo,很好使
作者: Five66 时间: 2024-4-23 17:31
观察下
for /r %%a in (*.txt) do @echo.%%a
的结果
作者: buyiyang 时间: 2024-4-23 18:28
这个有点奇怪,我做了个测试
目录结构为:- R:\一级
- │ test.bat
- │ 一级1.txt
- │ 一级2.txt
- │
- └─二级
- │ 二级1.txt
- │
- └─三级
- 三级1.txt
复制代码
在一级目录执行test.bat:- for /r %%i in (*.txt) do echo.
- pause
复制代码
cmd窗口显示- R:\一级>for /R %i in (*.txt) do echo.
-
- R:\一级>echo.
-
-
- R:\一级>echo.
-
-
- R:\一级>echo..
- .
-
- R:\一级>echo..
- .
-
- R:\一级>pause
复制代码
除了遍历找到的第一个txt文件所在目录时,其他时候.符号都会多一个,.:/\[]+等符号都会如此
执行6楼所说的test.bat:for /r %%a in (*.txt) do @echo.%%a结果为:- R:\一级>for /R %a in (*.txt) do @echo.%a
- R:\一级\一级1.txt
- R:\一级\一级2.txt
- R:\一级\二级\二级1.txt.R:\一级\一级2.txt
- R:\一级\二级\三级\三级1.txt.R:\一级\一级2.txt
复制代码
除了遍历一级目录(找到的第一个txt文件所在目录)时,其他时候除了多一个.符号还会多一个一级目录(找到的第一个txt文件所在目录)的最后一个txt文件的文件名
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |