2017-06-20 18 views
0

ファイルをtar/gzip形式でアーカイブするために使用する単純なバッチファイルがあります。私はどこからでもアクセスできるように、バッチファイルをsystem32に配置しました。現在のフォルダ名を取得

フォルダの内容をアーカイブする特定のフォルダで「shift +右クリック」を使用してコマンドウィンドウを開き、バッチファイルの名前(targz.bat)を入力します。バッチファイルは、アーカイブ/圧縮を行います。

問題は絶対パスを使用することです。私は現在のディレクトリと現在のフォルダの名前を取得する方法が必要です。 %cd%で現在のディレクトリを取得できますが、フォルダ名はどのように取得できますか?例えば

set currentdir=%cd%   "C:\xampp\htdocs\wordpress" 
set currentfoldername=  should be just "wordpress" 

実際のコード:

希望
@echo off 
cd "C:\Program Files\7-Zip" 
7z a -ttar "C:\xampp\htdocs\wordpress\archive.tar" "C:\xampp\htdocs\wordpress\*" 
7z a -tgzip "C:\xampp\htdocs\wordpress\archive.tar.gz" "C:\xampp\htdocs\wordpress\archive.tar" 
del "C:\xampp\htdocs\wordpress\archive.tar" 
exit 

:あなたはパスの最後の要素を取得easelyでき~n修飾子を使用して

​​
+2

https://stackoverflow.com/questions/8071458/get-directory-name-from-path-of-cd –

+0

@BrankVictoriaああ、私は私が見えたと思いました。ありがとう。 – akinuri

+1

[sendto entry](https://stackoverflow.com/questions/6852833/running-a-batch-script-by-right-clicking-any-file)を作成します。 – LotPings

答えて

1

for %%a in (%cd%) do set "currentfoldername=%~na" 
+1

このコードスニペットは問題を解決するかもしれませんが、[説明を含む](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)は本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。 – DimaSan

+1

私は@DimaSanと一緒にOKです、簡単な説明で編集しました! – SachaDee

関連する問題