quanto
quanto

Reputation: 171

How to specify the current directory in Windows Shell?

I have the following BAT file which is intended to archive the specified folder, protect it by a password and copy the archive file to my local Dropbox folder.

    "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

I use 7-Zip for archiving.

Is it possible to alter the script in such a way that I can put it in any folder I choose and it does the same - archive the current folder, protect it by a password and copy the archive file to my local Dropbox folder?

Simply said, what is the command for "archive the current directory and any sub-directories"?

Upvotes: 17

Views: 49303

Answers (3)

Ardesco
Ardesco

Reputation: 7441

%CD% is your current directory. Try echo %CD% in a dos prompt to try it out.

Upvotes: 42

Jon
Jon

Reputation: 437336

You can specify "the current directory" simply as ., for example:

"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

It's just a more complicated case of doing something as easy as dir .

Upvotes: 3

Shay Levy
Shay Levy

Reputation: 126702

You can get the current directory path if from the script path you put this line at the top of your script file:

$CurrentDirectory = Split-Path $MyInvocation.InvocationName

Upvotes: 0

Related Questions