Como obter o PID do windows cmd em que estou

2

Eu quero criar um diretório exclusivo para o tempo que um processo é executado (para concluir o processo de cópia que descrevi em esta pergunta ). Eu tentei %random% , mas ele muda muito devagar. Esperar não é uma opção viável, porque eu escrevo isto para acelerar o processo de cópia.

Então, estou procurando o PID do processo atual do script em que estou para nomear o caminho como ele. Eu preciso colocá-lo em uma variável.

Tudo bem que o PID seja reutilizado por outro processo mais tarde, ele só precisa ser único, desde que meu script seja executado, já que eu apagarei o diretório no final de qualquer maneira.

Eu não preciso do PID de outro processo, então essa pergunta não me ajudou.

Eu considerei usar a combinação de origem e caminho de destino (sem o\), mas isso poderia colidir com outras ações de cópia sendo executadas ao mesmo tempo (eG um copia todos os arquivos txt, outro todos os arquivos jpg de e para os mesmos diretórios).

Meu script é chamado de outro script, então eu poderia apresentar cada cópia com um argumento distinto, mas eu prefiro não, porque então eu precisaria fazer isso em outras situações onde eu quero usar a cópia também. / p>     

por Angelo Fuchs 09.03.2016 / 15:15

1 resposta

0

NÃO MEU CÓDIGO!

set T=%TEMP%\sthUnique.tmp
wmic process where (Name="WMIC.exe" AND CommandLine LIKE "%%%TIME%%%") get ParentProcessId /value | find "ParentProcessId" >%T%
set /P A=<%T%
set PID=%A:~16%

O PID do processo atual é armazenado na variável PID .

Eu não lembro quem fez isso, mas funciona. Provavelmente há algum código desnecessário, mas não consigo desconstruí-lo.

    
por 19.08.2016 / 00:58