Подтвердить что ты не робот

Как указать текущий каталог в Windows Shell?

У меня есть следующий файл BAT, который предназначен для архивирования указанной папки, защиты ее паролем и копирования архивного файла в мою локальную папку Dropbox.

    "C:\Program Files\7-Zip\7z.exe" a -mx9 archive.7z "G:\This is a test\directory\with subdirectories\" -psecret -mhe=on

    xcopy "G:\This is a test\directory\with subdirectories\archive.7z" "G:\My Documents\My Dropbox\" /c /d /s /e /k /y

Я использую 7-Zip для архивирования.

Можно ли изменить script таким образом, чтобы я мог поместить его в любую папку, которую я выбираю, и он делает то же самое - архивируйте текущую папку, защитите ее паролем и скопируйте файл архива в локальный Папка Dropbox?

Проще говоря, что такое команда для "архивировать текущий каталог и любые подкаталоги"?

4b9b3361

Ответ 1

%CD% - это ваш текущий каталог. Попробуйте echo %CD% в приглашении dos попробовать его.

Ответ 2

Вы можете указать "текущий каталог" просто как ., например:

"C:\Program Files\7-Zip\7z.exe" a -mx9 archive.7z . -psecret -mhe=on
xcopy archive.7z "G:\My Documents\My Dropbox\" /c /d /s /e /k /y

Это просто более сложный случай сделать что-то так же просто, как dir .

Ответ 3

Вы можете получить текущий путь к каталогу, если из пути script вы поместите эту строку в начало вашего файла script:

$CurrentDirectory = Split-Path $MyInvocation.InvocationName