From WikiChip
Editing mirc/identifiers/$findfile

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help pages.

Latest revision Your text
Line 1: Line 1:
{{mirc title|$findfile Identifier}}'''$findfile''' Searches the specified directory (and optionally its subdirectories) for the Nth filename matching the {{mirc|wildcard}} file specification and returns the full path and filename if it is found.
+
{{mirc title|$findfile Identifier}}'''$findfile''' Searches the specified directory (and optionally its subdirectories) for the Nth filename matching the wildcard file specification and returns the full path and filename if it is found.
 
 
'''Note''': You can stop the $findfile search using /halt inside the command parameter, /halt won't halt the script execution in this case.
 
 
 
 
== Synopsis ==
 
== Synopsis ==
 
<pre>$findfile(dir, wildcard , N , [depth , [@window | command] ] )</pre>
 
<pre>$findfile(dir, wildcard , N , [depth , [@window | command] ] )</pre>
Line 8: Line 5:
 
== Parameters ==
 
== Parameters ==
 
* '''DIR''' - Name of the starting folder name.
 
* '''DIR''' - Name of the starting folder name.
* '''wildcard''' - Filename being searched for. A list of filenames or {{mirc|wildcard|wildcards}} separated by a ';'.
+
* '''wildcard''' - Filename being searched for. Can be filename or wildcard(s).
 
* '''N''' - Nth sequential file being searched for. 0 is count of ALL files.
 
* '''N''' - Nth sequential file being searched for. 0 is count of ALL files.
 
* '''depth''' - optional folder depth, counting DIR as the first level. 0 or 1 is DIR level only. If depth not used, there's no depth limit.
 
* '''depth''' - optional folder depth, counting DIR as the first level. 0 or 1 is DIR level only. If depth not used, there's no depth limit.
* '''command''' - optional 5th parameter. Can use $findfilen as the sequential number for that filename, or $1- for the space-delimited filename. If the first token in the command is an identifier, $1- will hold the previous values it had and you can pre-evaluate $1- with $!1- to access the filename.
+
* '''command''' - optional 5th parameter. Can use $findfilen as the sequential number for that filename, or $1- for the space-delimited filename.
* '''@window''' - optional 5th parameter. Must be window with side listbox created with -l switch. Each $1- from matching filenames is appended as a new line to the side listbox. Is equivalent to: /aline -la @window $1-
+
* '''@window''' - optional 5th parameter. Must be window with side listbox created with -l2 switch. Each $1- from matching filenames is appended as a new line to the side listbox. Is equivalent to: /aline -la @window $1-
  
 
Note: DIR can be absolute \path or c:\path or relative to $mircdir. Does not need ending slash. Accepts forward/backward slashes interchangeably but always output backslash.
 
Note: DIR can be absolute \path or c:\path or relative to $mircdir. Does not need ending slash. Accepts forward/backward slashes interchangeably but always output backslash.
  
 +
Note: More than 1 filename or wildcard can be used by delimiting them with a ; semi-colon. *.* returns filenames without a file extension. Filenames matching the 1st wildcard are returned prior to those matching the 2nd wildcard. Filenames matching more than 1 wildcard will not return more than once. After removing duplicates, files are returned recursively in alphabetical order.
 +
 +
Note: Aliased folders can cause the same file to be returned within multiple folder names.
 +
 +
Note: $findfile using the 5th parameter to append lines to a @window side listbox or run commands should not be run as the first command on a scriptline because it also outputs either the N=0 filecount (even 0) or the N>0 filename - likely generating an invalid command error. Instead, begin the command with /noop or /var %dummyvariable. The @window and /command alternatives must be the 5th parameter, so depth is required when using them.
 
== Properties ==
 
== Properties ==
 
* '''shortfn''' - causes N > 0 or $1- within 5th parameter to return short filenames and/or foldernames when a case-insensitive evaluation of the filename is not a valid DOS filename. (Invalid characters, more than 1 period, filename prefix longer than 8, file extension longer than 4, etc)
 
* '''shortfn''' - causes N > 0 or $1- within 5th parameter to return short filenames and/or foldernames when a case-insensitive evaluation of the filename is not a valid DOS filename. (Invalid characters, more than 1 period, filename prefix longer than 8, file extension longer than 4, etc)
Line 58: Line 60:
  
 
== See Also ==
 
== See Also ==
 +
{{collist
 +
|count = 4
 +
|style = width: 100%; display: inherit;
 +
|
 
* {{mIRC|$finddir}}
 
* {{mIRC|$finddir}}
 
* {{mIRC|$findfilen}}
 
* {{mIRC|$findfilen}}
Line 64: Line 70:
 
* {{mIRC|$mircdir}}
 
* {{mIRC|$mircdir}}
 
* {{mIRC|$getdir}}
 
* {{mIRC|$getdir}}
[[Category:mIRC identifiers]]
+
}}
 +
[[Category:mIRC identifiers|$didtok]]

Please note that all contributions to WikiChip may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see WikiChip:Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)