Lista de argumentos para tarefa agendada

2

Quando você edita a ação de uma tarefa agendada, há a opção "Adicionar argumentos".

O software que eu uso agora tem o argumento

-cp .\Acquisition.Jar et.EPC

Estou pesquisando há algum tempo e não consegui encontrar o que o -cp faz.

Existe uma lista em algum lugar desses argumentos? Eles estão relacionados ao programa usado e, em caso afirmativo, como posso encontrar a lista?

    
por loli 06.07.2015 / 15:46

2 respostas

2

O que é um argumento -cp (opção)

Seu programa é um programa em Java.

Nesse caso, você precisa estar ciente de que existem opções e argumentos , que são entidades diferentes.

A opção -cp (abreviação de -classpath ) especifica uma lista de diretórios, arquivos JAR e arquivos ZIP para procurar arquivos de classe.

As outras possíveis opções para um programa Java estão documentadas em java - Lança uma aplicação Java .

Os valores após o nome do arquivo jar são argumentos que são passados para o método main . Você precisará consultar a documentação fornecida com o arquivo jar para ver os argumentos permitidos e seu significado.

A linha de comando Java

Synopsis

java [ options ] class [ arguments ]

java [ options ] -jar file.jar [ arguments ]

javaw [ options ] class [ arguments ]

javaw [ options ] -jar file.jar [ arguments ]

options

  • Command-line options. See Options.

class

  • The name of the class to be called.

file.jar

  • The name of the JAR file to be called. Used only with the -jar command.

arguments

  • The arguments passed to the main function.

...

Standard Options

...

-classpath classpath

-cp classpath

Specifies a list of directories, JAR files, and ZIP archives to search for class files. Separate class path entries with semicolons (;). Specifying -classpath or -cp overrides any setting of the CLASSPATH environment variable.

If -classpath and -cp are not used and CLASSPATH is not set, then the user class path consists of the current directory (.).

As a special convenience, a class path element that contains a base name of * is considered equivalent to specifying a list of all the files in the directory with the extension .jar or .JAR. A Java program cannot tell the difference between the two invocations.

For example, if directory mydir contains a.jar and b.JAR, then the class path element mydir/* is expanded to a A.jar:b.JAR, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A class path entry consisting simply of * expands to a list of all the jar files in the current directory. The CLASSPATH environment variable, where defined, will be similarly expanded. Any class path wildcard expansion occurs before the Java VM is started. No Java program will ever see wild cards that are not expanded except by querying the environment. For example, by calling System.getenv("CLASSPATH").

Fonte java - Inicia um aplicativo Java .

    
por 06.07.2015 / 15:54
3

O argumento é exclusivo do software, não do Agendador de Tarefas.

Eu uso muito isso quando escrevo software, é essencialmente um sinalizador / comando, então quando meu programa é executado a partir do agendador de tarefas, ele recebe um valor, como o caminho do arquivo e um comando. O comando diz ao meu programa o que fazer com ele.

EG, eu escrevi algum software de backup, que é executado a partir do agendador de tarefas. O parâmetro que ele passa é:

"path\file.bmup" -s

Nesse caso, o -s significa que ele mostra a GUI e não é executado apenas em segundo plano.

Ou pode ser

"path\file.bmup" -e

Nesse caso, ele envia um email quando o programa é concluído.

Quanto ao que eles querem dizer - se os desenvolvedores não fornecem nenhuma documentação, é muito difícil saber. Existem alguns 'padrões', mas eles só funcionam se as pessoas seguirem os padrões. EG, -f geralmente significa force , mas não há motivo para o meu software não ler -f as Finnish language

    
por 06.07.2015 / 15:48