web-dev-qa-db-ja.com

Windowsシェルで現在のディレクトリを指定する方法

指定したフォルダーをアーカイブし、パスワードで保護し、アーカイブファイルをローカルのDropboxフォルダーにコピーすることを目的とした次のBATファイルがあります。

    "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を使用しています。

現在のフォルダーをアーカイブし、パスワードで保護し、アーカイブファイルをローカルのDropboxフォルダーにコピーして、選択した任意のフォルダーにスクリプトを配置できるようにスクリプトを変更することは可能ですか?

簡単に言えば、「現在のディレクトリとサブディレクトリをアーカイブする」ためのコマンドは何ですか?

16
quanto

%CD%は現在のディレクトリです。 dosプロンプトでecho %CD%を試してみてください。

42
Ardesco

「現在のディレクトリ」は、単に.として指定できます。次に例を示します。

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

スクリプトパスから次の行をスクリプトファイルの先頭に配置すると、現在のディレクトリパスを取得できます。

$CurrentDirectory = Split-Path $MyInvocation.InvocationName
0
Shay Levy