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,我的老师给我布置了一个关于创建一个批处理文件的作业。这项任务相当艰巨,但有一部分我卡住了。它要求: 如果userdomain变量的值等于computername变量的值,则 将以下信息存储到名为output.txt的文件中: 1.当前用户名 2.当前计算机名 所以我想,我的用户名域名永远不会和世界上任何地方的计算机名一样!英雄联盟 所以那永远不会发生!在这种情况下,我什么也不做 所以我很困惑。我错过了什么 可以为计算机提供域中用户帐户的名称。这不是禁止的。您的计算机在域或本地具有与您的用户帐户不

我的老师给我布置了一个关于创建一个批处理文件的作业。这项任务相当艰巨,但有一部分我卡住了。它要求: 如果userdomain变量的值等于computername变量的值,则 将以下信息存储到名为output.txt的文件中: 1.当前用户名 2.当前计算机名

所以我想,我的用户名域名永远不会和世界上任何地方的计算机名一样!英雄联盟 所以那永远不会发生!在这种情况下,我什么也不做


所以我很困惑。我错过了什么

可以为计算机提供域中用户帐户的名称。这不是禁止的。您的计算机在域或本地具有与您的用户帐户不同的名称并不意味着这是不可能的

@echo off
setlocal EnableExtensions DisableDelayedExpansion
:RunNameCompare
if /I "%COMPUTERNAME%" == "%USERNAME%" (
    setlocal EnableDelayedExpansion
    echo User name: !USERNAME!>output.txt
    echo Computer name: !COMPUTERNAME!>>output.txt
    endlocal
) else (
    echo/
    echo Computer name and user account name are different.
    echo/
    %SystemRoot%\System32\choice.exe /N /M "Simulate identical names [Y/N]: "
    if not errorlevel 2 set "COMPUTERNAME=%USERNAME%" & goto RunNameCompare
)
endlocal
要了解所使用的命令及其工作方式,请打开命令提示符窗口,在其中执行以下命令,并非常仔细地阅读为每个命令显示的所有帮助页面

选择/? 回声/? endlocal/? 转到/? 如果/? 集/? setlocal/? 另请参见以下页面和文章:

维基百科关于 关于Microsoft的文章 关于Microsoft的文章 有关命令SETLOCAL和ENDLOCAL的详细信息 DosTips论坛主题 外部SETLOCAL和ENDLOCAL用于在运行此批处理文件时创建本地环境,以便即使在使用“模拟相同名称”选项后,按照调试和验证开发中的批处理文件时的建议,在命令提示窗口中运行批处理文件后,预定义的环境变量COMPUTERNAME具有其原始值


内部SETLOCAL和ENDLOCAL用于将正确的文件输出到output.txt,即使计算机和用户帐户名包含命令行关键字符,如&[]{}^=;!'+,`~|或者以1到9之间的空格和数字结尾,但不要用双引号括起两个名字。

如果你感到困惑,请你的导师澄清作业。我做了,她说,重新阅读作业!所以我把它贴在这里。也许我看错了!然后我怀疑你对这个问题想得太多了,你应该按照描述的那样编写代码,而不必担心它是否会发生。这一点很可能是一个如何编写代码的练习,不要想得太多。我也回答了你的问题。