2016-02-03 5 views
-1

Я запускаю следующую команду в cmd, для которой я могу получить журнал успешно.Команда запускается в командной строке, но не через файл BAT

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 \ sriram \ AppData \ Local \ Temp \ license1.1.4 \ usage.log

Выше команда будет генерировать журналы в файле журнала использования. Но я создал пакетный файл, как показано ниже, для которых она дает мне testprovilic.muc.company ошибки не найден

@ECHO от

SET переменная = C: \ Users \ sdvaidyanathan \ AppData \ Local \ Temp \ usage.log

START "C: \ Users \ sdvaidyanathan \ AppData \ Local \ Temp \ license1.1.4" lsmon.exe testprovilic.muc.company> "% переменная%"

Не могли бы вы, пожалуйста, помогите я решаю этот вопрос.

Спасибо и наилучшими пожеланиями, Sriram

ответ

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%" 
+0

Здравствуйте @LuvnJesus, Я попытался с компакт-диска, а я получаю ту же ошибку. На самом деле testprovilic.muc.company - это сервер, который я передаю lsmon.exe. Есть ли какой-либо конкретный формат, чтобы передать его через bat-файл? –

+0

Почему lsmon.exe вне кавычек и почему нет пути между контуром и lsmon.exe? –

+0

@CareyGregory Я делаю эту папку по умолчанию, а затем пытаюсь запустить exe, которая присутствует внутри этой папки. –

0

Это не работает:

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

Весь путь должен быть в кавычках, а там нет eds - обратная косая черта после последнего имени папки.

Изменить его к этому:

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

Открыть окно командной строки, введите set и нажмите клавишу RETURN или ENTER для запуска этой команды. Вы увидите все предопределенные переменные среды с их текущими значениями. Вы можете посмотреть TEMP, USERPROFILE и USERNAME.

У командной строки Windows есть помощь. Команда получить помощь - help, да, действительно. Попробуйте! Вам нужна помощь по команде CD, введите в командной строке окно help cd или, альтернативно, cd /?. Вам нужна помощь по команде SET и START, введите help set или set /? и help start или start /?. Все внутренние команды cmd.exe и почти все консольные приложения поддерживают параметр /? и выводят 1 или более справочных страниц при запуске команды с этим параметром.

Вам нужен лучший обзор стандартных команд Windows? См. Статьи Command-Line Reference и SS64 Command line reference.

Я предполагаю, что sriram является вашей учетной записью, а s.d.vaidyanathan является учетной записью пользователя. По умолчанию у стандартного пользователя нет разрешений на доступ к папкам и файлам в другом профиле пользователя, чем собственный профиль с Windows Vista. Это означает, что вы вошли в систему, так как sriram не может получить доступ к файлам и папкам C:\Users\s.d.vaidyanathan из-за отсутствия разрешений для этого. Для запуска командного файла с учетной записью s.d.vaidyanathan необходимо использовать команду Runas.

@echo off 

rem Execute lsmon.exe from license1.1.4 in my folder for temporary 
rem files and folders and write the log file also into this folder. 

"%TEMP%\license1.1.4\lsmon.exe" testprovilic.muc.company >"%TEMP%\license1.1.4\usage.log" 

Примечание: двойные кавычки должны использоваться вокруг путь и имя файла. Просто двойное цитирование частей имени файла с помощью пути может или не может работать в зависимости от исправления ошибок и того, как приложение написано. Подробнее см. Ответ на вопрос 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?