2

Я хочу создать уникальный каталог на время выполнения процесса (чтобы завершить процесс копирования, который я описал в этом вопросе). Я пробовал %random% но он меняется слишком медленно. Ожидание не является жизнеспособным вариантом, потому что я пишу это, чтобы ускорить процесс копирования.

Итак, я ищу PID текущего процесса скрипта, в котором я нахожусь, чтобы назвать путь, как это. Мне нужно получить его в переменную.

Хорошо, что PID повторно используется другим процессом позже, он просто должен быть уникальным, пока мой скрипт выполняется, так как я все равно буду удалять каталог в конце.

Мне не нужен PID другого процесса, поэтому этот вопрос мне не помог.

Я подумал об использовании комбинации исходного и целевого пути (без \), но это может столкнуться с другими действиями копирования, выполняющимися в одно и то же время (например,G. один копирует все txt-файлы, другой - все jpg-файлы из одной и той же директории).

Мой сценарий вызывается из другого сценария, поэтому я мог бы представить каждую копию с отличительным аргументом, но я бы предпочел не делать этого, потому что тогда мне придется делать это в других ситуациях, когда я хочу использовать копию также.

1 ответ1

0

НЕ МОЙ КОД!

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%

PID текущего процесса сохраняется в переменной PID .

Я не помню, кто это сделал, но это работает. Возможно, есть какой-то ненужный код, но я не могу разобрать его.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .