【发布时间】:2019-01-01 19:15:47
【问题描述】:
我使用一个批处理文件来创建另一个批处理文件,其中的某些部分是从文件中提取的,它会创建一个长文件。
我只需要在文件末尾添加一个exit 命令。
实际上创建的批处理文件在完成工作后并没有关闭。
创建另一个批处理文件的代码文件:
:: 'Create Batch File'
@echo off
(for /f "usebackq delims=" %%a in ("D:\Programmi Installati\list.csv") > do (
echo PING -n %%~NXa localhost ^>NUL 2^>^&1
echo/
echo/
)) > "D:\Programmi Installati\new.bat"
new.bat 的实际结果(错误):
PING -n 10 localhost >NUL 2>&1
exit
PING -n 15 localhost >NUL 2>&1
exit
PING -n 20 localhost >NUL 2>&1
exit
PING -n 25 localhost >NUL 2>&1
exit
new.bat 的纵横比结果(期望):
PING -n 10 localhost >NUL 2>&1
PING -n 15 localhost >NUL 2>&1
PING -n 20 localhost >NUL 2>&1
PING -n 25 localhost >NUL 2>&1
exit
【问题讨论】:
-
应该是
do而不是> do。 -
您好 bat 文件运行良好,唯一的错误是如何在文件末尾添加生成的 exit 。批处理文件创建另一个带有提取和循环的批处理文件并且运行良好,但我没有找到最后添加的解决方案(仅在最后 1 次)退出。
-
你在哪里
echo退出?请提供一个list.csv以便我们能够重现您的问题。编辑您的问题以修复 Compo 提到的错字。另外,如果您在for循环(echo exit)>>"D:\Programmi Installati\new.bat"之后放置它是否有效?请向我们提供更多信息,但请不要发表评论。相反,请编辑您的问题。 -
@double-beep 您的解决方案运行良好,这正是我的问题的解决方案,在批处理文件创建结束时的循环后添加 1 个退出(回显退出)>>“D:\Programmi Installati\ new.bat" 谢谢你解决了我的问题。
-
exit不是代码中唯一的错误。 Compo说的也是其中之一。并且不要使用ping进行延迟,它会比预期的睡眠时间少一秒How to sleep for 5 seconds in Windows's Command Prompt? (or DOS),How do I make a batch file wait / sleep for some seconds?
标签: batch-file exit