Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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 - Fatal编程技术网

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
,以避免后面的空格。。。