我使用了这个脚本,它创建同一文件的多个副本,所有副本均从列表中命名。除了在单词
clank
之后创建额外的空行之外,它工作得很好。
我需要文件在其自己的行上包含仅单词
clank
,没有额外的空格或空行。
要创建数百个文件,我无法手动编辑每个文件以删除事后的空行。
@ECHO ON
::: Implicit
:::: Ensure there are NO SPACES in this path
SET FileList=List.txt
FOR /F "TOKENS=*" %%F IN (%FileList%) DO (
ECHO. >>"%%~F.mat"
CALL :CreateFile "%%~F.mat"
)
GOTO EOF
:CreateFile
ECHO ^clank>"%~1"
GOTO EOF
这里有几张图片。
当前文件创建后的样子:
它应该是什么样子:
我尝试的一切都无济于事。
这很棘手且不直观,但使用
SET
很容易做到。
要“回显”不带回车符的内容,请使用
SET
命令的提示功能,如下所示:
<NUL SET /P="ABC"
将输出字母
A
、B
和 C
,仅此而已,文本用引号引起来。此处显示的不同示例在十六进制查看器中通过管道传输。
ECHO "ABC" | xxd
echo ABC | xxd
00000000: 4142 4320 0d0a ABC ..
< NUL SET /P=ABC| xxd
00000000: 4142 4320 ABC
< NUL SET /P="ABC" | xxd
00000000: 4142 43 ABC