Windows10 下.cmd 文件中设置 %USERNAME%

Posted SamWeb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows10 下.cmd 文件中设置 %USERNAME%相关的知识,希望对你有一定的参考价值。

  最近在做项目时,要先启动服务器,但在启动之前,要先进行验证(执行ssh),ssh 命令包含在一个.cmd文件中,运行.cmd很简单,就是在命令窗口中输入该文件名,然后按回车键执行。但.cmd里面包含了%USERNAME%, 类似以下格式

ssh -N -f ^
  
%USERNAME%@localhost.com

  运行这个文件时,总是不能获取到想要的USERNAME。我们先看一下,直接运行.cmd文件会发生什么。进入到项目目录,假设项目在D盘,.cmd文件是 test.cmd, 文件内容就是上面的内容

 

  USERNAME 是Admin, 为什么呢?怎么会获取到这个USERNAME 呢?原来Windows10 在第一次装系统的时候,会默认创建一个用户。直接执行.cmd文件,就会获取到这个用户。怎么知道默认的用户名是Admin呢?最简单的办法就是看C 盘下面的用户目录,打开用户目录

 

  可以看到创建的用户名是Admin。直接执行.cmd 文件时, 文件里面的%USERNAME%就是获取到这个用户名,并进行替换。那怎么才能让%USERNAME% 获取到不同的值呢?假设让%USERNAME% 换成samli, 怎么办? 想明白了,也就简单了,既然它获取的是Windows创建的用户名,那我们再创建一个用户,命名为samli,然后指定这个用户去跑命令,不就可以了吗。在Windows下,新创建一个用户,打开控制面板,在右侧的搜索中,输入user

 

  看到一个创建账户,点击

  点击 “在电脑设置中添加新用户”

   点击“将其它人添加到这台电脑”, 弹窗,添加电子邮箱,Microsoft 账号,不过,可以选择没有,最后到了 用户名密码。%USERNAME% 就是读取的这个用户名,输入用户名,密码也要记住,当以不同的用户去执行命令的时候,要输入密码。

  添加用户成功,这时你再到C 盘的用户目录下,可以看到samli

  这时,就要用samli 这个用户来执行.cmd文件了,有两种方式,第一种是 runas /user:samli "cmd ./test.cmd",

  这时打开了一个新的命令窗口,cd 到test.cmd

   %USERNAME% 终于成功到读取到samli了。另一种是使用绝对路径

  runas /user:samli "D:\\test.cmd"

  在这种测试的情况下,并没有成功,但在真实的环境下是成功的。

 

以上是关于Windows10 下.cmd 文件中设置 %USERNAME%的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows .cmd 文件或批处理文件的路径中设置带有空格的路径变量

在 Windows 中设置 cron 作业

如何在Windows cmd终端中设置cd命令的默认目录?

windows

windows下设置JupyterNotebook默认目录

如何在windows cmd下运行python