Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批处理文件以创建编号列表并打印为文本_Batch File_Cmd_Dos - Fatal编程技术网

Batch file 批处理文件以创建编号列表并打印为文本

Batch file 批处理文件以创建编号列表并打印为文本,batch-file,cmd,dos,Batch File,Cmd,Dos,我如何拥有一个将询问名称的批处理文件: 然后将该名称打印到文本文件中1-150次,具体取决于 我希望名称按顺序打印到文本文件的次数: 前 代码: 我需要它来问我将名称打印到文本文件test.txt的次数 @ECHO OFF SET /P uname=Please enter your name: SET /P count=How many lines: FOR /L %%G IN (1,1,%count%) DO ECHO %uname% %%G >>C:\Users\admin\D

我如何拥有一个将询问名称的批处理文件:

然后将该名称打印到文本文件中1-150次,具体取决于 我希望名称按顺序打印到文本文件的次数:

代码:

我需要它来问我将名称打印到文本文件test.txt的次数

@ECHO OFF
SET /P uname=Please enter your name:
SET /P count=How many lines:
FOR /L %%G IN (1,1,%count%) DO ECHO %uname% %%G >>C:\Users\admin\Documents\name1.txt
IF "%uname%"=="" GOTO Error
pause
GOTO End
:Error
ECHO You did not enter your name! Bye bye!!

这允许您将任何名称以及希望打印该名称的次数打印到文本文件中。我用这个来帮助我在vb应用程序中编辑下拉列表中的项目。这是一个有声圣经研究应用程序,圣经中的一些书有很多章节,例如《诗篇》有150章。所以这个脚本允许我将每章的诗篇打印到一个文本文件中,然后我可以复制粘贴输出到我的下拉列表中,而不必键入诗篇1诗篇2诗篇3等等。。。单击每个下拉项都会显示该章节的戏剧化音频!。再次感谢斯蒂芬的帮助。

set/?特别设置/p,用于/?特别是对于/L和echo。好的,我知道了。谢谢Stephan的邀请,这正是我所需要的。现在我只需要将信息写入一个文本文件,我的visual basic应用程序将减少75%的繁琐,并提供我需要的所有名称!请标记solvedI我很难将其打印到文本文件中,以下是我尝试使用的:ECHO%uname%%%G>C:\Users\admin\Documents\name.txt-但它打印到name.txt文件中的所有内容都是Mike 150。控制台的输出显示正确的东西,即Mike 1 Mike 2 Mike 3等…我在这里做错了什么?再次感谢。重定向>每次都会覆盖您的文件。使用>>附加到文件。再次非常感谢Stephan-我正在使用>>但我想我在尝试时没有保存更改。这次我保存了更改,它可以按照我的需要正常工作!再次感谢您。您可以让它询问您设置/p count=行数:然后为/L%%G设置1,1,%count%do。。。天啊!再次感谢Stephan使我的另一个vb项目变得如此简单,现在我有了这个批处理文件。改进后的代码工作得更好,我可以输入任何姓名和号码。非常感谢。Stephan,添加了一行:START和GOTO,这样它会再次询问我另一个名称和次数-我的问题是,当我将新信息放入时,如何让它打印到一个新的文本文件而不是同一个文本文件?回显到>>C:\Users\admin\Documents\%uname%.txt。此处不需要引号,但如果路径或名称中有空格,则引号会有所帮助。顺便说一下:如果您转到end,也应该有一个:end标签-或者您使用goto:eof.:eof是一个内置标签,表示转到批处理文件的最末尾。如果要在不同的计算机或用户上使用%userprofile%\Documents\%uname%.txt,也可以使用它。
@ECHO OFF
SET /P uname=Please enter your name: 
IF "%uname%"=="" GOTO Error
ECHO %uname%
pause
GOTO End
:Error
ECHO You did not enter your name! Bye bye!!
Pause
@ECHO OFF
SET /P uname=Please enter your name:
SET /P count=How many lines:
FOR /L %%G IN (1,1,%count%) DO ECHO %uname% %%G >>C:\Users\admin\Documents\name1.txt
IF "%uname%"=="" GOTO Error
pause
GOTO End
:Error
ECHO You did not enter your name! Bye bye!!