Batch file 如何写一个字符“x”的次数

Batch file 如何写一个字符“x”的次数,batch-file,repeat,Batch File,Repeat,我正在尝试创建一个批处理文件,该文件使用用户输入创建以下内容 要创建多少记录 要将文本文件另存为的文件名的名称 使用什么字符 选项3中的字符重复多少次 我是一个自学成才的批量生产新手,但我确实了解一些。。。。 下面是我所拥有的,我知道它是不正确的,可能只是向后的…我可能需要设置要写什么,在文本中的一行上重复多少次,然后对文件中的记录量重复步骤。 最终结果如下所示: 0000000000 0000 000000000 0000000000 0000 000000000 用户输入的总记录量

我正在尝试创建一个批处理文件,该文件使用用户输入创建以下内容

要创建多少记录 要将文本文件另存为的文件名的名称 使用什么字符 选项3中的字符重复多少次 我是一个自学成才的批量生产新手,但我确实了解一些。。。。 下面是我所拥有的,我知道它是不正确的,可能只是向后的…我可能需要设置要写什么,在文本中的一行上重复多少次,然后对文件中的记录量重复步骤。 最终结果如下所示:

0000000000  0000  000000000
0000000000  0000  000000000
用户输入的总记录量的etc。。。 %column1bytecount%%column2bytecount%%column3bytecount%重复此%howmanyrecords%

以下方法不起作用。我必须靠近

@Echo Off

Set /P howmanyrecords=How Many Records Would You Like To Produce: 
set /P savefilename=Please Type Name Of Sample Pin File To Save: 
Set /P charactertowrite=What Character Would You Like To Use (typically 0 is used): 
Set /P Column1bytecount=How Many Bytes In Column 1: 


for /L %%A in (1,1,%howmanyrecords%) do (
echo 0000000000  0000  00000000 >> %savefilename%

我想这正是你想要做的

@Echo Off
setlocal enabledelayedexpansion

Set /P "howmanyrecords=How Many Records Would You Like To Produce: "
Set /P "savefilename=Please Type Name Of Sample Pin File To Save: "
Set /P "charactertowrite=What Character Would You Like To Use (typically 0 is used): "
Set /P "column1bytecount=How Many Bytes In Column 1: "

for /l %%i in (1,1,%howmanyrecords%) do (
    set line=
    for /l %%j in (1,1,%column1bytecount%) do (
        set line=!line!!charactertowrite!
    )

    echo !line!>> !savefilename!
)

我想这正是你想要做的

@Echo Off
setlocal enabledelayedexpansion

Set /P "howmanyrecords=How Many Records Would You Like To Produce: "
Set /P "savefilename=Please Type Name Of Sample Pin File To Save: "
Set /P "charactertowrite=What Character Would You Like To Use (typically 0 is used): "
Set /P "column1bytecount=How Many Bytes In Column 1: "

for /l %%i in (1,1,%howmanyrecords%) do (
    set line=
    for /l %%j in (1,1,%column1bytecount%) do (
        set line=!line!!charactertowrite!
    )

    echo !line!>> !savefilename!
)
@回音 SETLOCAL Set/P howmanyrecords=您希望生成多少条记录: set/P savefilename=请键入要保存的示例Pin文件的名称: Set/P charactertowrite=您希望使用的字符通常为0: Set/P Columnbytecount=列中以逗号分隔的字节数: 设定线= 调用:设置行%columnbytecount% 对于1,1中的/l%%i,%howmanyrecords%do >>%保存文件名%echo%行% 后藤:EOF :设定线 设置此列=%1 如果未定义此列,则设置行=%line:~0、-2%&转到:EOF :buildloop 设置行=%line%%charactertowrite% 设置/a此列-=1 如果%thiscolumn%neq 0转到buildloop ::添加分隔符-未指定2个空格 设置行=%line% 转移 后藤线 这应该可以完成工作

我稍微修改了规范。您可以将列作为一系列数字输入,用逗号或空格分隔。例如,输入10,4,9

该过程在第行中构建输出行,然后按所需次数写入该行。请注意,不能将标签放在带括号的一系列语句中的块语句中

setline子例程接受指定为columnbytecount的参数列表。它将第一个参数放入该列,并将指定的字符添加到该行。当计数为零时,它会添加两个空格(不指定间距),但看起来像两个空格,并移动参数列表,使原始的第二个参数变为第一个

重复该操作,直到参数列表被释放,然后删除最后两个字符,因为当最后一列结束时已添加了两个空格,通过到达文件末尾退出子例程

子字符串语法是

%var:~start,length% if start >=0 and length >0
%var:~start,endpos% if start >=0 and endpos <0
%var:~start,length% if start <0 and length >0
%var:~start,endpos% if start <0 and endpos <0
长度/结束位置可以省略。如果省略,则子字符串从开始位置到结束 %可能是!对于延迟扩展模式 @回音 SETLOCAL Set/P howmanyrecords=您希望生成多少条记录: set/P savefilename=请键入要保存的示例Pin文件的名称: Set/P charactertowrite=您希望使用的字符通常为0: Set/P Columnbytecount=列中以逗号分隔的字节数: 设定线= 调用:设置行%columnbytecount% 对于1,1中的/l%%i,%howmanyrecords%do >>%保存文件名%echo%行% 后藤:EOF :设定线 设置此列=%1 如果未定义此列,则设置行=%line:~0、-2%&转到:EOF :buildloop 设置行=%line%%charactertowrite% 设置/a此列-=1 如果%thiscolumn%neq 0转到buildloop ::添加分隔符-未指定2个空格 设置行=%line% 转移 后藤线 这应该可以完成工作

我稍微修改了规范。您可以将列作为一系列数字输入,用逗号或空格分隔。例如,输入10,4,9

该过程在第行中构建输出行,然后按所需次数写入该行。请注意,不能将标签放在带括号的一系列语句中的块语句中

setline子例程接受指定为columnbytecount的参数列表。它将第一个参数放入该列,并将指定的字符添加到该行。当计数为零时,它会添加两个空格(不指定间距),但看起来像两个空格,并移动参数列表,使原始的第二个参数变为第一个

重复该操作,直到参数列表被释放,然后删除最后两个字符,因为当最后一列结束时已添加了两个空格,通过到达文件末尾退出子例程

子字符串语法是

%var:~start,length% if start >=0 and length >0
%var:~start,endpos% if start >=0 and endpos <0
%var:~start,length% if start <0 and length >0
%var:~start,endpos% if start <0 and endpos <0
长度/结束位置可以省略。如果省略,则子字符串从开始位置到结束 %可能是!对于延迟扩展模式
“不工作”不是一个有意义的问题描述。它以什么方式不起作用?它会给你错误的输出吗?它只是不执行吗?它是否以无效输入结束?请具体说明您发布的代码存在的问题-不起作用。我有更新
把我的代码转换成可以工作的东西。这将从%howmanyrecords%的用户输入重复回显多次。我想知道的是如何将回显0000000000000000000>>%savefilename%替换为用户输入。我已将代码更新为可以正常工作的代码。这将从%howmanyrecords%的用户输入重复回显多次。我想知道的是如何将回显0000000000000000000>>%savefilename%替换为用户输入。如何对Echo%charactertowrite%->>%column1bytecount%进行编码一行重复%howmanyrecords%不起作用不是一个有意义的问题描述。它以什么方式不起作用?它会给你错误的输出吗?它只是不执行吗?它是否以无效输入结束?请具体说明您发布的代码存在的问题-不起作用将不起作用。我已将我的代码更新为起作用的代码。这将从%howmanyrecords%的用户输入重复回显多次。我想知道的是如何将回显0000000000000000000>>%savefilename%替换为用户输入。我已将代码更新为可以正常工作的代码。这将从%howmanyrecords%的用户输入重复回显多次。我想知道的是如何将回显0000000000000000000>>%savefilename%替换为用户输入。我该如何编写Echo%charactertowrite%->%column1bytecount%一行重复%howmanyrecords%谢谢你Matt,我增加了代表因为你的代码很有用,我可能会根据你的代码计算出其余部分,但是Magoo下面的答案基本上达到了我想要的成品的目的。谢谢你的回复!没问题,Magoos的答案明显比我的好。谢谢你,Matt,我增加了代表,因为你的代码很有用,我可能会根据你的代码计算出其余部分,但是Magoo下面的答案基本上达到了我想要的成品。谢谢你的回复!没问题,Magoos的答案明显比我的好。哇,谢谢Magoo,这正是我想要的最终产品…是的,它是2个空格。你们给了我最终产品,为我节省了很多时间,现在我可以和你们的产品一起玩,试着了解更多。再次感谢你哇,谢谢你马古这正是我想要的最终产品…是的,它是2个空间。你们给了我最终产品,为我节省了很多时间,现在我可以和你们的产品一起玩,试着了解更多。再次感谢你