How to specify the current directory in Windows Sh

2019-03-14 23:16发布

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"?

3条回答
我欲成王,谁敢阻挡
2楼-- · 2019-03-14 23:23

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
查看更多
老娘就宠你
3楼-- · 2019-03-14 23:27

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 .

查看更多
SAY GOODBYE
4楼-- · 2019-03-14 23:30

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

查看更多
登录 后发表回答