NSISを使用してディレクトリをコピーする方法に関する情報が見つからないようです。fileコマンドがあることは知っていますが、ディレクトリをコピーするコマンドはありますか。
構文はディレクトリとファイルの両方で同じですが、最後に\
を指定してディレクトリを指定する必要がある点が異なります。指定された引数がディレクトリの場合、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
フォルダを含むmyDirectory
のすべての内容をoutputPath
にコピーします。
やり方を見つけました、ご迷惑をおかけして申し訳ありません。
事前に存在できないディレクトリにファイルを抽出します
CreateDirectory $Installdir\extracting
SetOutPath $Installdir\extracting
File Directory\*
File
命令はインストーラーからファイルを抽出し、 CopyFiles
エンドユーザーシステムにすでに存在するファイルやディレクトリをコピーします(次の場合は$ EXEDIRを使用できます)インストーラーもあるDVDからファイルをコピーする必要があります...)
バックスラッシュの後にコンテンツ全体に一致するスターは必須です。構文は次のとおりです。
マニュアル セクション4.9.1.6を参照してください
SetOutPath "outputPath\myDirectory"
File /nonfatal /a /r "myDirectory\*"