Как я могу передать аргументы в командный файл?

IE не поддерживает elem.dataset. Вам нужно будет явно получить атрибут: http://jsfiddle.net/ZSB67/1/ .

changeBGImage(this.getAttribute('data-index'));

В будущем вам может потребоваться нажать F12 и глядя на консоль на наличие ошибок, так как он сказал, что вызывает здесь проблему.

1062
задан double-beep 30 January 2019 в 10:03
поделиться

5 ответов

Вот то, как я сделал это:

@fake-command /u %1 /p %2

Вот то, на что похожа команда:

test.cmd admin P@55w0rd > test-log.txt

Эти %1 относится к первому параметру %2 (и вот хитрая часть), относится к второму. У Вас может быть до 9 параметров, переданных таким образом.

261
ответ дан double-beep 30 January 2019 в 10:03
поделиться

Если Вы хотите разумно обработать недостающие параметры, можно сделать что-то как:

IF %1.==. GOTO No1
IF %2.==. GOTO No2
... do stuff...
GOTO End1

:No1
  ECHO No param 1
GOTO End1
:No2
  ECHO No param 2
GOTO End1

:End1
134
ответ дан thelsdj 30 January 2019 в 10:03
поделиться

Другая полезная подсказка должна использовать %* для значения "всех". Например:

echo off
set arg1=%1
set arg2=%2
shift
shift
fake-command /u %arg1% /p %arg2% %*

, Когда Вы работаете:

test-command admin password foo bar

вышеупомянутый пакетный файл будет работать:

fake-command /u admin /p password admin password foo bar

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

945
ответ дан Hüseyin Yağlı 30 January 2019 в 10:03
поделиться

Да, и просто не забывайте использовать переменные как %%1 при использовании if и for и банда.

, Если Вы забываете двойное %, тогда Вы будете занимать место в (возможно пустой указатель) параметры командной строки, и Вы получите некоторые довольно запутывающие сообщения об ошибках.

57
ответ дан Frank Krueger 30 January 2019 в 10:03
поделиться
below script will run like this
abc.bat -h ( it will give complete usage)

@echo off
goto :parse


:filename
    python systrace.py --time=8 -b 32768 gfx input view wm am sm camera res rs bionic power hal dalvik sched freq idle audio video -o %~1.html 
    goto :end

:help
    echo USAGE:
    echo   %__BAT_NAME% [flags] "required argument"
    echo.
    echo.  /h,-h,--h --help           shows this help
    echo.  /t,-t,--t,                 input the systrace time
    echo.  /f,--f,-f                  input systrace file name
    echo If not used any argument then default time is 8 sec and default fileName is systrace
    echo Example 
    echo %__BAT_NAME% -t 10
    echo %__BAT_NAME% -f camera
    echo %__BAT_NAME% -t 10 -f camera

    goto :end

:time
    python systrace.py --time=%~1 -b 32768 gfx input view wm am sm camera res rs bionic power hal dalvik sched freq idle audio video -o systrace.html 
    goto :end

:timefile
    python systrace.py --time=%~1 -b 32768 gfx input view wm am sm camera res rs bionic power hal dalvik sched freq idle audio video -o %~2.html 
    goto :end

:filetime
    python systrace.py --time=%~2 -b 32768 gfx input view wm am sm camera res rs bionic power hal dalvik sched freq idle audio video -o %~1.html 
    goto :end

:start_sys
    python systrace.py --time=8 -b 32768 gfx input view wm am sm camera res rs bionic power hal dalvik sched freq idle audio video -o systrace.html 
    goto :end

:1arg
    if /i "%~1"=="/h"         call :help  & goto :end
    if /i "%~1"=="-h"         call :help  & goto :end
    if /i "%~1"=="--h"        call :help  & goto :end
    if /i "%~1"=="--help"     call :help  & goto :end

    if /i "%~1"=="/f"         call :filename "%~2" & goto :end
    if /i "%~1"=="-f"         call :filename "%~2" & goto :end
    if /i "%~1"=="--f"        call :filename "%~2" & goto :end

    if /i "%~1"=="/t"         call :time "%~2"     & goto :end
    if /i "%~1"=="-t"         call :time "%~2"    & goto :end
    if /i "%~1"=="--t"        call :time "%~2"    & goto :end

    echo "Invalid Argument"
    goto :end


:parse
    if "%~1"==""   call :start_sys & goto :end
    if "%~2"==""   call :1arg "%~1" & goto :end
    if "%~3"==""   call :1arg "%~1" "%~2" & goto :end

    set result=false
    if /i "%~1"=="/t"         set result=true
    if /i "%~1"=="-t"         set result=true
    if /i "%~1"=="--t"        set result=true

    if /i "%~3"=="/f"         set result=true
    if /i "%~3"=="-f"         set result=true
    if /i "%~3"=="--f"        set result=true

    if /i "%~3"=="/t"         set result=true1
    if /i "%~3"=="-t"         set result=true1
    if /i "%~3"=="--t"        set result=true1

    if /i "%~1"=="/f"         set result=true1
    if /i "%~1"=="-f"         set result=true1
    if /i "%~1"=="--f"        set result=true1

    if "%result%" == "true"    call :timefile "%~2" "%~4"   &  goto :end
    if "%result%" == "true1"    call :filetime "%~2" "%~4"   &  goto :end

    goto :end

:end
    exit /B
-1
ответ дан Neetesh Singh 14 September 2019 в 16:40
поделиться
  • 1
    Спасибо! Все люди в качестве примера дают функций не в постоянное время, кажется, функции, которые называют себя. Был бы он быть правильным думать что функция, принимающая вход n, и затем печатающая " Hello" n времена в для или цикл с условием продолжения, также не был бы в постоянное время (но в линейное время)? – thesunneversets 2 December 2010 в 19:36
Другие вопросы по тегам:

Похожие вопросы: