2016-04-04 3 views
2

私は好奇心の中でいくつかのバッチファイルを見ています/学習の目的のために、私はかなり意識することができなかったことを見ています。私はそれが単純なものだと確信していますが、明白な理由から、このファイルを単に実行したくありません。次の行と同様にの意味。 (期間)バッチファイルでコピーするとき

copy /Y "\git\MyProject\bin\Release\MyLib-1.dll" . 
copy /Y "\git\MyProject\bin\Release\MyLib-2.dll" . 
copy /Y "\git\MyProject\bin\Release\MyLib-3.dll" . 

私は、/ Yはオンライン読書から何を知っているが、.は何をしているのですか?私の最初の前提は、ファイルを現在のディレクトリにコピーすることを意味していましたが、%cd%変数のための印象の下にありました。カレントディレクトリに

答えて

3

期間は、バッチファイルが呼び出されたカレントディレクトリを指します。したがって、この場合、3つのDLLライブラリファイルは、このバッチスクリプトを呼び出したカレントディレクトリにコピーされます。

/Yパラメータは、現在のディレクトリに既に存在する場合、それらを上書きするよう強制します。

+0

スクリプトはどこにコピーされますか、%cd%はどこに設定されていますか? (私が明示的に 'cd'をスクリプトそのもののどこかに設定した場合) –

+2

あなたのスクリプトがC:\ BatchScriptsにあり、それをC:\ SomeOtherPathから呼び出すと、ファイルはC:\ SomeOtherPathにコピーされます。もちろん、バッチファイル内からディレクトリを変更したり、スクリプトを呼び出す前に初期作業ディレクトリが設定されていない限り、 %cd%は現在のディレクトリを参照として保持しますが、同様に同じことをします。これは、現在のディレクトリのための最も直接的で簡潔な構文です。 – ManoDestra

+2

さらに明確にするために、このコピー操作の前にバッチファイル内のディレクトリをcnangeにすると、変更したディレクトリにファイルがコピーされます。 – ManoDestra

1

あなたcopy - コマンドで、それはあなたがファイルをコピーしていることを意味してそれは、現在のディレクトリを意味

関連する問題