Batch file 有人能帮我修复这个批处理文件吗?
我想做一个记事本程序,但是文本文件的创建者不工作。有人能帮我吗?我需要在发布之前添加更多详细信息,所以忽略这里的所有内容,除了代码Batch file 有人能帮我修复这个批处理文件吗?,batch-file,Batch File,我想做一个记事本程序,但是文本文件的创建者不工作。有人能帮我吗?我需要在发布之前添加更多详细信息,所以忽略这里的所有内容,除了代码 IF [%writeone%]==[] ( set /p writeone= Name: cls echo Ok, your file has been created. Have fun! pause cls set /p textone= pause echo Ok, now your done,
IF [%writeone%]==[] (
set /p writeone= Name:
cls
echo Ok, your file has been created. Have fun!
pause
cls
set /p textone=
pause
echo Ok, now your done, you will be redirected to the desktop...
pause
goto desktop
) ELSE (
IF [%writetwo%]==[] (
set /p writetwo= Name:
cls
echo Ok, your file has been created. Have fun!
pause
cls
set /p texttwo=
pause
echo Ok, now your done, you will be redirected to the desktop...
pause
goto desktop
)
) ELSE (
IF [%writethree%]==[] (
set /p writethree= Name:
cls
echo Ok, your file has been created. Have fun!
pause
cls
set /p textthree=
pause
echo Ok, now your done, you will be redirected to the desktop...
pause
goto desktop
)
)
同一天,我们将为精英们献身,为劳动和财富创造一个暂时的机会。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除了偶尔出于谨慎,我们还需要更多的信息。 据我所知,你没有写任何文件。 最简单的方法是:
echo test > filename.extension
创建名为filename.extension的文件,其中包含单词“test”
您可以使用echo%variable%>file
如果没有更多信息,恐怕很难提供帮助。如果缩进打开的块,代码将更易于阅读和调试。完成后,您应该清楚地看到,您有一个
else
条件,但没有匹配的if
或者右括号放错了位置。根据你的代码,我的经验告诉我是后者
如果“%writeone%”(
设置/P“writeone=名称:”
ClS
Echo好的,您的文件已经创建。祝您玩得开心!
暂停
ClS
设置/P“textone=”
暂停
Echo Ok,现在您的操作完成,您将被重定向到桌面。。。
暂停
转到桌面
)否则(
如果“%writewo%”=(
设置/P“writewo=名称:”
ClS
Echo好的,您的文件已经创建。祝您玩得开心!
暂停
ClS
设置/P“textwo=”
暂停
Echo Ok,现在您的操作完成,您将被重定向到桌面。。。
暂停
转到桌面
)否则(
如果“%writethree%”=(
设置/P“writethree=名称:”
ClS
Echo好的,您的文件已经创建。祝您玩得开心!
暂停
ClS
设置/P“textthree=”
暂停
Echo Ok,现在您的操作完成,您将被重定向到桌面。。。
暂停
转到桌面
)
)
)
还请注意,我已将您糟糕的实现IF[%variable%]=[]
替换为IF“%variable%”===“
,并在set/p
命令周围包含保护性双引号。此外,值得一提的是,在定义名为textone
、textwo
和textthree
的变量时,您似乎在请求输入,而没有向最终用户提示您希望他们插入的内容,我建议您对其进行类似于writeone
的修改,writewo
和writethree
示例。
但是,我不确定您是否真的需要
else
条件。以下可能是您所需要的全部内容:
如果“%writeone%”(
设置/P“writeone=名称:”
ClS
Echo好的,您的文件已经创建。祝您玩得开心!
暂停
ClS
设置/P“textone=”
暂停
Echo Ok,现在您的操作完成,您将被重定向到桌面。。。
暂停
转到桌面
如果“%writewo%”=(
设置/P“writewo=名称:”
ClS
Echo好的,您的文件已经创建。祝您玩得开心!
暂停
ClS
设置/P“textwo=”
暂停
Echo Ok,现在您的操作完成,您将被重定向到桌面。。。
暂停
转到桌面
如果“%writethree%”=(
设置/P“writethree=名称:”
ClS
Echo好的,您的文件已经创建。祝您玩得开心!
暂停
ClS
设置/P“textthree=”
暂停
Echo Ok,现在您的操作完成,您将被重定向到桌面。。。
暂停
转到桌面
)
Welocome to SO,@dacadia。你说得对,需要更多信息。请参阅提问部分。另外,goto desktop
是什么意思?脚本中没有desktop
标签。我缩进了你的代码,以突出并补充我在回答中提出的问题。不,这写的是test
,后面是将空格写入文件。更确切地说,写echo test>“filename.ext”
,或者更好地写“filename.ext”echo test
,以避免后面的空格。。。