Batch file 批处理文件以创建编号列表并打印为文本
我如何拥有一个将询问名称的批处理文件: 然后将该名称打印到文本文件中1-150次,具体取决于 我希望名称按顺序打印到文本文件的次数: 前 代码: 我需要它来问我将名称打印到文本文件test.txt的次数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
@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!!