Создайте свой командный файл, например, «copy_file.cmd», и поместите в него следующее:
@echo off
SET SRC="%~dp0file.dll"
SET DEST="%WINDIR%\system32\file.dll"
if not exist %DEST% copy /V %SRC% %DEST%
Если файл назначения не существует, он скопирует исходный файл в место назначения. Переключатель /V
позволяет копировать, чтобы убедиться, что файл был скопирован правильно, и является необязательным.
%~dp0
в SRC
берет диск d
и путь p
из переменной %0
(путь к пакетному файлу) и использует этот путь в качестве префикса для file.dll
. Вы хотите сделать это, чтобы гарантировать, что скрипт всегда берет файл из того же каталога, что и пакетный файл, а не из текущего каталога. Например, если ваш пакетный файл был на сетевом диске, сопоставленном с H:
, вы все равно можете запустить его с C:
.
c:\> h:\shared_scripts\copy_file.cmd