<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://nsis.sourceforge.io/mediawiki/index.php?action=history&amp;feed=atom&amp;title=MakeRecurentFileList</id>
	<title>MakeRecurentFileList - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://nsis.sourceforge.io/mediawiki/index.php?action=history&amp;feed=atom&amp;title=MakeRecurentFileList"/>
	<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=MakeRecurentFileList&amp;action=history"/>
	<updated>2026-05-27T19:52:29Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=MakeRecurentFileList&amp;diff=24548&amp;oldid=prev</id>
		<title>Bugmenot: /* Description */ grammar</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=MakeRecurentFileList&amp;diff=24548&amp;oldid=prev"/>
		<updated>2015-09-01T17:35:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Description: &lt;/span&gt; grammar&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;â† Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:35, 1 September 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Description ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Create file list with relative paths of files in a directory. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;There &lt;/del&gt;is possible to define output file, filter, local and global folder. Local folder and rest path with filename &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is &lt;/del&gt;saved to output file. Global folder is not saved.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Create file list with relative paths of files in a directory. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It &lt;/ins&gt;is possible to define output file, filter, local and global folder. Local folder and rest path with filename &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;are &lt;/ins&gt;saved to output file. Global folder is not saved.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Usage ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Usage ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;highlight-nsis&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;highlight-nsis&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Bugmenot</name></author>
	</entry>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=MakeRecurentFileList&amp;diff=24474&amp;oldid=prev</id>
		<title>Zanir: Created page with &quot;{{PageAuthor|Zanir}}  == Description == Create file list with relative paths of files in a directory. There is possible to define output file, filter, local and global folder....&quot;</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=MakeRecurentFileList&amp;diff=24474&amp;oldid=prev"/>
		<updated>2015-05-06T10:49:06Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{PageAuthor|Zanir}}  == Description == Create file list with relative paths of files in a directory. There is possible to define output file, filter, local and global folder....&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{PageAuthor|Zanir}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
Create file list with relative paths of files in a directory. There is possible to define output file, filter, local and global folder. Local folder and rest path with filename is saved to output file. Global folder is not saved.&lt;br /&gt;
== Usage ==&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
!define UNINSTALL_MAP &amp;quot;uninstall.txt&amp;quot;&lt;br /&gt;
Delete &amp;quot;$INSTDIR\${UNINSTALL_MAP}&amp;quot;	; delete output file if exist, there is used append mode&lt;br /&gt;
Push &amp;quot;$INSTDIR\${UNINSTALL_MAP}&amp;quot; 	; output file&lt;br /&gt;
Push &amp;quot;.pdf&amp;quot;				; filter (only files which has this string in filename are added)&lt;br /&gt;
Push &amp;quot;Doc&amp;quot;	 			; local folder&lt;br /&gt;
Push &amp;quot;$EXEDIR&amp;quot;	 			; global folder&lt;br /&gt;
Call MakeRecurrentFileList&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The Function ==&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
!include &amp;quot;StrContains.nsh&amp;quot;			; http://nsis.sourceforge.net/StrContains&lt;br /&gt;
&lt;br /&gt;
Function MakeRecurrentFileList&lt;br /&gt;
	Pop $R3 	; global folder&lt;br /&gt;
	Pop $R2		; local folder&lt;br /&gt;
	Pop $R1		; filter&lt;br /&gt;
	Pop $R0		; output file&lt;br /&gt;
	&lt;br /&gt;
	ClearErrors&lt;br /&gt;
	FindFirst $R4 $R5 &amp;quot;$R3\$R2\*.*&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
MakeRecurrentFileList_Loop:&lt;br /&gt;
	IfErrors MakeRecurrentFileList_Done&lt;br /&gt;
	; check if it is folder&lt;br /&gt;
	IfFileExists &amp;quot;$R3\$R2\$R5\*.*&amp;quot;  0 MakeRecurrentFileList_file&lt;br /&gt;
	; directory&lt;br /&gt;
	StrCmp $R5 &amp;quot;.&amp;quot; MakeRecurrentFileList_next			; skip current folder&lt;br /&gt;
	StrCmp $R5 &amp;quot;..&amp;quot; MakeRecurrentFileList_next			; skip parent folder&lt;br /&gt;
	; go Recurrent&lt;br /&gt;
	; save current variables&lt;br /&gt;
	Push $R5&lt;br /&gt;
	Push $R4&lt;br /&gt;
	Push $R3&lt;br /&gt;
	Push $R2&lt;br /&gt;
	Push $R1&lt;br /&gt;
	Push $R0&lt;br /&gt;
	&lt;br /&gt;
	; set parameters&lt;br /&gt;
	Push $R0		; output file&lt;br /&gt;
	Push $R1		; filter&lt;br /&gt;
	Push &amp;quot;$R2\$R5&amp;quot;	; local folder&lt;br /&gt;
	Push $R3		; global folder&lt;br /&gt;
	call MakeRecurrentFileList&lt;br /&gt;
	; restore current variables&lt;br /&gt;
	Pop $R0&lt;br /&gt;
	Pop $R1&lt;br /&gt;
	Pop $R2&lt;br /&gt;
	Pop $R3&lt;br /&gt;
	Pop $R4&lt;br /&gt;
	Pop $R5&lt;br /&gt;
	Goto MakeRecurrentFileList_next&lt;br /&gt;
&lt;br /&gt;
MakeRecurrentFileList_file:&lt;br /&gt;
	; use filter&lt;br /&gt;
	${StrContains} $0 $R1 $R5&lt;br /&gt;
	StrCmp $0 &amp;quot;&amp;quot; MakeRecurrentFileList_notfound&lt;br /&gt;
	; filter found, add file to list&lt;br /&gt;
	FileOpen $R6 $R0 a&lt;br /&gt;
	FileSeek $R6 0 END&lt;br /&gt;
	FileWrite $R6 &amp;quot;$R2\$R5$\r$\n&amp;quot;&lt;br /&gt;
	FileClose $R6&lt;br /&gt;
&lt;br /&gt;
MakeRecurrentFileList_notfound:&lt;br /&gt;
MakeRecurrentFileList_next:&lt;br /&gt;
	ClearErrors&lt;br /&gt;
	FindNext $R4 $R5&lt;br /&gt;
	Goto MakeRecurrentFileList_Loop&lt;br /&gt;
&lt;br /&gt;
MakeRecurrentFileList_Done:&lt;br /&gt;
	FindClose $R4&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Disk, Path &amp;amp; File Functions]]&lt;/div&gt;</summary>
		<author><name>Zanir</name></author>
	</entry>
</feed>