任何人都可以协助,我创建一个批处理脚本,它将从我的列表中创建一堆txt文件,然后txt需要在文本上包含几行,部分需要具有文件名。 所以例如。
mkdir file1.txt
然后.txt文件需要:
this file contains info
owner of the file is 'file.txt'
data for this file is in C:\Users\'file.txt'
如果不够清楚,请告诉我 感谢
(从OP的评论中复制/格式化 - OP:使用编辑链接编辑您的问题(当然明智地))
到目前为止我已写过
@echo off
for %%a in (*.txt) do type customer=customer fromAddress=email@domain.com andOrAddress=OR toAddress=email@domain.com outputPath=E:\Exgest\customer\email@domain.com outputFormat=MIME customHeaders=true fromDate=20030901 toDate=20101231 >> (*.txt)
无法在此文件夹中添加文本并仅创建* .txt文件。然后我试着跑步 复制>> email@domain.com
列表中的每个电子邮件地址,然后 copy con>>每个文件的名称
刚刚添加的语法对txt文件是正确的。对不起,伙计们,我是批处理脚本的新手。
答案 0 :(得分:0)
如果要在文件中写入内容,则需要在批处理文件中写入:
@ECHO OFF
ECHO.this file contains info>>file.txt
ECHO.owner of the file is 'file.txt'>>file.txt
ECHO.data for this file is in C:\Users\'file.txt'>>file.txt
在ECHO.
之前写下你想要发送到任何扩展名的文件。
在您想要在该文件中写入什么之前,如果您只想保留一行,请写>
,如果要在该文件中写更多行,请写>>
。
所以如果你有:
ECHO.thing>>file.txt
ECHO.thing2>file.txt
file.txt
将如下所示:
thing2
我希望这会对你有所帮助。
P.S。:抱歉我的英语不好!
答案 1 :(得分:0)
你打算做什么不清楚。
您的代码似乎想要做的是将“customer = customer fr ... 01 toDate = 20101231”附加到每个现有的.TXT文件中。正确的语法是
@echo off
for %%a in (*.txt) do ECHO customer=customer fromAddress=email@domain.com andOrAddress=OR toAddress=email@domain.com outputPath=E:\Exgest\customer\email@domain.com outputFormat=MIME customHeaders=true fromDate=20030901 toDate=20101231 >>"%%a"
应该在每个.txt
文件的末尾添加额外的行。
请注意更改 - ECHO
而非TYPE
和>>"%%a"
,因为元变量%%a
将包含文件*.txt
的文件名 - 以及“引号”确保正确处理"filenames containing spaces.txt"
。
答案 2 :(得分:0)
@ user2782162您需要编辑您的问题并更具体。 我根据您的想法创建了以下批次。
如果这是您想要的,请告诉我们? 另外......我确信@Magoo可以让这更简单(你是一个巫师)。
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET listloc=list.txt
:start
FOR /f "tokens=* delims= " %%a IN (%listloc%) DO CALL :process1 %%a
ECHO.
ECHO List finished - Press any key to close.
PAUSE >nul
GOTO :eof
:process1
SET fname=%2
IF "%2"=="" GOTO :eof
:process2
ECHO %1=%2 >>%fname%.txt
SHIFT
SHIFT
IF NOT "%2"=="" GOTO process2
GOTO :eof
这假设您的输入文件'list.txt'的排列方式如下所示...包含各个行的每个'新文件'的所有信息....
customer=hello1 fromAddress=email1@domain.com andOrAddress=OR1 toAddress=email1@domain.com outputPath=E:\Exgest\customer\email@domain1.com outputFormat=MIME1 customHeaders=true1 fromDate=200309011 toDate=201012311
customer=hello2 fromAddress=email2@domain.com andOrAddress=OR2 toAddress=email2@domain.com outputPath=E:\Exgest\customer\email@domain2.com outputFormat=MIME2 customHeaders=true2 fromDate=200309012 toDate=201012312
customer=hello3 fromAddress=email3@domain.com andOrAddress=OR3 toAddress=email3@domain.com outputPath=E:\Exgest\customer\email@domain3.com outputFormat=MIME3 customHeaders=true3 fromDate=200309013 toDate=201012313
Batch将一次读取'list.txt'1行。 它将使用每行“customer”的值作为新文件的名称。
下面的示例显示了第一行的输出结果。
customer=hello1
fromAddress=email1@domain.com
andOrAddress=OR1
toAddress=email1@domain.com
outputPath=E:\Exgest\customer\email@domain1.com
outputFormat=MIME1
customHeaders=true1
fromDate=200309011
toDate=201012311