命令在命令行中运行,但不在BAT文件中运行

时间:2016-02-03 04:46:06

标签: batch-file cmd

我在cmd中运行以下命令,我可以成功获取日志。

cd C:\ Users \ sriram \ AppData \ Local \ Temp \ license1.1.4

C:\ Users \ sriram \ AppData \ Local \ Temp \ license1.1.4> lsmon.exe testprovilic.muc.company> C:\ Users \用户斯利拉姆\应用程序数据\本地\ TEMP \ license1.1.4 \ usage.log

以上命令将在使用情况日志文件中生成日志。但我创建了一个批处理文件,如下所示,它给我一个错误testprovilic.muc.company not found

@ECHO off

SET variable = C:\ Users \ s.d.vaidyanathan \ AppData \ Local \ Temp \ usage.log

START" C:\ Users \ s.d.vaidyanathan \ AppData \ Local \ Temp \ license1.1.4" lsmon.exe testprovilic.muc.company> "%变量%"

请你帮我解决这个问题。

谢谢和问候, 斯利拉姆

3 个答案:

答案 0 :(得分:0)

您需要将“cd C:\ Users \ sriram \ AppData \ Local \ Temp \ license1.1.4”添加到批处理文件中。或者使用文件的完整路径,如:

C:\Users\sriram\AppData\Local\Temp\license1.1.4\testprovilic.muc.company

所以你会......

@ECHO off
cd C:\Users\sriram\AppData\Local\Temp\license1.1.4
SET variable=C:\Users\s.d.vaidyanathan\AppData\Local\Temp\usage.log
START "C:\Users\s.d.vaidyanathan\AppData\Local\Temp\license1.1.4"lsmon.exe testprovilic.muc.company> "%variable%"

或者你可以

@ECHO off
SET variable=C:\Users\s.d.vaidyanathan\AppData\Local\Temp\usage.log
START "C:\Users\s.d.vaidyanathan\AppData\Local\Temp\license1.1.4"lsmon.exe C:\Users\sriram\AppData\Local\Temp\license1.1.4\testprovilic.muc.company> "%variable%"

答案 1 :(得分:0)

这不起作用:

"C:\Users\s.d.vaidyanathan\AppData\Local\Temp\license1.1.4"lsmon.exe 

整个路径需要在引号中,并且在最后一个文件夹名称后需要有一个反斜杠。

将其更改为:

"C:\Users\s.d.vaidyanathan\AppData\Local\Temp\license1.1.4\lsmon.exe"

答案 2 :(得分:0)

打开命令提示符窗口,键入virtual env --no-setuptools --no-pip --no-wheel,然后按 RETURN ENTER 键运行此命令。您将显示所有预定义的环境变量及其当前值。您可以看到 TEMP USERPROFILE USERNAME

Windows命令行有帮助。获得帮助的命令是set,是的。试试看!您需要有关 CD 命令的帮助,请在命令提示符窗口helphelp cd中输入。您需要有关 SET START ,运行cd /?help set以及set /?help start的帮助。 start /?和几乎所有控制台应用程序的所有内部命令都支持参数cmd.exe,并在使用此参数运行命令时输出1个或多个帮助页面。

您需要更好地了解标准Windows命令吗?请参阅Microsoft的command-line reference和SS64的command line reference

我认为/?是您的用户帐户,sriram是其他人的用户帐户。默认情况下,自Windows Vista以来,标准用户无权访问不同用户配置文件中的文件夹和文件。这意味着,您以s.d.vaidyanathan身份登录时无法访问sriram的文件和文件夹,因为缺少这样做的权限。有必要使用命令Runas来运行带有帐户C:\Users\s.d.vaidyanathan的批处理文件。

s.d.vaidyanathan

注意:必须在路径AND文件名周围使用双引号。只是根据错误更正和应用程序的编写方式,使用路径双引号文件名的部分可能会也可能不会起作用。有关详细信息,请参阅set environment variables with spaces上的答案。

另请参阅Microsoft文章Using command redirection operators

关于正确使用命令 START ,这里不需要查看How to call a batch file in the parent folder of current batch file?上的答案