25

NSISを使用してディレクトリをコピーする方法についての情報が見つからないようです。fileコマンドがあることは知っていますが、ディレクトリをコピーするコマンドはありますか。

4

4 に答える 4

36

構文はディレクトリとファイルの両方で同じですが、最後にを指定してディレクトリを指定する必要がある点が異なります\File指定された引数がディレクトリの場合、コマンドはディレクトリをコピーします。たとえば、次のことができます。

SetOutPath "outputPath"
File "myDirectory\" #note back slash at the end

ただし、これは最上位のディレクトリのみをコピーします。再帰的に行うには、/rスイッチがあります

SetOutPath "outputPath"
File /nonfatal /a /r "myDirectory\" #note back slash at the end

の内容をコピーします(フォルダ自体はコピーしmyDirectoryません)。特定のディレクトリがない場合、エラーなしで無視します。ファイル属性もコピーします。スイッチはファイルを除外するために使用されます。myDirectory/nonfatal/a/x

さもないと、

SetOutPath "outputPath\myDirectory"
File /nonfatal /a /r "myDirectory\" #note back slash at the end

インクルードフォルダのすべての内容myDirectoryをにコピーします。myDirectoryoutputPath

于 2013-07-23T16:40:07.320 に答える
4

やり方を見つけました、ご迷惑をおかけして申し訳ありません。

事前に存在できないディレクトリにファイルを抽出します

CreateDirectory $Installdir\extracting

SetOutPath $Installdir\extracting

File Directory\*
于 2012-06-13T11:39:18.603 に答える
3

このFile手順では、インストーラーからファイルを抽出CopyFilesし、エンドユーザーシステムに既に存在するファイルやディレクトリをコピーします(インストーラーが配置されているDVDからファイルをコピーする必要がある場合は、$ EXEDIRを使用できます...)

于 2012-06-13T12:19:57.447 に答える
0

バックスラッシュの後にコンテンツ全体に一致するスターは必須です。構文は次のとおりです。

マニュアルセクション4.9.1.6を参照してください

SetOutPath "outputPath\myDirectory"
File /nonfatal /a /r "myDirectory\*" 
于 2019-10-04T15:22:42.433 に答える