To find files which last modified date is after 09/20/2012:
forfiles /s /m *.* /d 09/20/2012 /c "cmd /c echo @PATH @FDATE is new"
To find files which last modified date is before 09/20/2012:
forfiles /s /m *.* /d -09/20/2012 /c "cmd /c echo @PATH @FDATE is new"
To list all of the batch files on drive C:
forfiles /p c:\ /s /m *.bat /c "cmd /c echo @file is a batch file"
To list all of the directories on drive C
forfiles /p c:\ /s /m *.* /c "cmd /c if @isdir==true echo @file is a directory"
To list all of the files in the current directory that are at least one year old
forfiles /s /m *.* /d -365 /c "cmd /c echo @file is at least one year old."
To list the file name extensions of all the files in the current directory in column format, and add a tab before the extension
forfiles /s /m *.* /c "cmd /c echo The extension of @file is 0x09@ext"
Friday, 30 November 2012
Tuesday, 27 November 2012
C# Regular Expressions Cheat Sheet
Character |
Description |
---|---|
\ | Marks the next character as either a special character or escapes a literal. For example, "n" matches the character "n". "\n" matches a newline character. The sequence "\\" matches "\" and "\(" matches "(". Note: double quotes may be escaped by doubling them: "<a href=""...>" |
^ | Depending on whether the MultiLine option is set, matches the position before the first character in a line, or the first character in the string. |
$ | Depending on whether the MultiLine option is set, matches the position after the last character in a line, or the last character in the string. |
* | Matches the preceding character zero or more times. For example, "zo*" matches either "z" or "zoo". |
+ | Matches the preceding character one or more times. For example, "zo+" matches "zoo" but not "z". |
? | Matches the preceding character zero or one time. For example, "a?ve?" matches the "ve" in "never". |
. | Matches any single character except a newline character. |
(pattern) | Matches pattern and remembers the match. The matched substring can be retrieved from the resulting Matches collection, using Item [0]...[n]. To match parentheses characters ( ), use "\(" or "\)". |
(?<name>pattern) | Matches pattern and gives the match a name. |
(?:pattern) | A non-capturing group |
(?=...) | A positive lookahead |
(?!...) | A negative lookahead |
(?<=...) | A positive lookbehind . |
(?<!...) | A negative lookbehind . |
x|y | Matches either x or y. For example, "z|wood" matches "z" or "wood". "(z|w)oo" matches "zoo" or "wood". |
{n} | n is a non-negative integer. Matches exactly n times. For example, "o{2}" does not match the "o" in "Bob," but matches the first two o's in "foooood". |
{n,} | n is a non-negative integer. Matches at least n times. For example, "o{2,}" does not match the "o" in "Bob" and matches all the o's in "foooood." "o{1,}" is equivalent to "o+". "o{0,}" is equivalent to "o*". |
{n,m} | m and n are non-negative integers. Matches at least n and at most m times. For example, "o{1,3}" matches the first three o's in "fooooood." "o{0,1}" is equivalent to "o?". |
[xyz] | A character set. Matches any one of the enclosed characters. For example, "[abc]" matches the "a" in "plain". |
[^xyz] | A negative character set. Matches any character not enclosed. For example, "[^abc]" matches the "p" in "plain". |
[a-z] | A range of characters. Matches any character in the specified range. For example, "[a-z]" matches any lowercase alphabetic character in the range "a" through "z". |
[^m-z] | A negative range characters. Matches any character not in the specified range. For example, "[m-z]" matches any character not in the range "m" through "z". |
\b | Matches a word boundary, that is, the position between a word and a space. For example, "er\b" matches the "er" in "never" but not the "er" in "verb". |
\B | Matches a non-word boundary. "ea*r\B" matches the "ear" in "never early". |
\d | Matches a digit character. Equivalent to [0-9]. |
\D | Matches a non-digit character. Equivalent to [^0-9]. |
\f | Matches a form-feed character. |
\k | A back-reference to a named group. |
\n | Matches a newline character. |
\r | Matches a carriage return character. |
\s | Matches any white space including space, tab, form-feed, etc. Equivalent to "[ \f\n\r\t\v]". |
\S | Matches any nonwhite space character. Equivalent to "[^ \f\n\r\t\v]". |
\t | Matches a tab character. |
\v | Matches a vertical tab character. |
\w | Matches any word character including underscore. Equivalent to "[A-Za-z0-9_]". |
\W | Matches any non-word character. Equivalent to "[^A-Za-z0-9_]". |
\num | Matches num, where num is a positive integer. A reference back to remembered matches. For example, "(.)\1" matches two consecutive identical characters. |
\n | Matches n, where n is an octal escape value. Octal escape values must be 1, 2, or 3 digits long. For example, "\11" and "\011" both match a tab character. "\0011" is the equivalent of "\001" & "1". Octal escape values must not exceed 256. If they do, only the first two digits comprise the expression. Allows ASCII codes to be used in regular expressions. |
\xn | Matches n, where n is a hexadecimal escape value. Hexadecimal escape values must be exactly two digits long. For example, "\x41" matches "A". "\x041" is equivalent to "\x04" & "1". Allows ASCII codes to be used in regular expressions. |
\un | Matches a Unicode character expressed in hexadecimal notation with exactly four numeric digits. "\u0200" matches a space character. |
\A | Matches the position before the first character in a string. Not affected by the MultiLine setting |
\Z | Matches the position after the last character of a string. Not affected by the MultiLine setting. |
\G | Specifies that the matches must be consecutive, without any intervening non-matching characters. |
Tuesday, 20 November 2012
Validation Regex Repository
<?xml version="1.0"?> <regex> <name>url</name> <pattern><![CDATA[^((((https?|ftps?|gopher|telnet|nntp)://)|(mailto:|news:))(%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@&=+$,A-Za-z0-9])+)([).!';/?:,][[:blank:]])?$]]></pattern> <description>A valid URL per the URL spec.</description> </regex> <regex> <name>IP</name> <pattern><![CDATA[^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$]]></pattern> <description>A valid IP Address</description> </regex> <regex> <name>e-mail</name> <pattern><![CDATA[^[a-zA-Z0-9+&*-]+(?:\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,7}$]]></pattern> <description>A valid e-mail address</description> </regex> <regex> <name>safetext</name> <pattern><![CDATA[^[a-zA-Z0-9 .-]+$]]></pattern> <description>Lower and upper case letters and all digits</description> </regex> <regex> <name>date</name> <pattern><![CDATA[^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$]]></pattern> <description>Date in US format with support for leap years</description> </regex> <regex> <name>creditcard</name> <pattern><![CDATA[^((4\d{3})|(5[1-5]\d{2})|(6011)|(7\d{3}))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$]]></pattern> <description>A valid credit card number</description> </regex> <regex> <name>password</name> <pattern><![CDATA[^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$]]></pattern> <description>4 to 8 character password requiring numbers and both lowercase and uppercase letters</description> </regex> <regex> <name>English_digitwords</name> <pattern><![CDATA[^(zero|one|two|three|four|five|six|seven|eight|nine)$]]></pattern> <description>The English words representing the digits 0 to 9</description> </regex> <regex> <name>English_daywords</name> <pattern><![CDATA[^(Mo|Tu|We|Th|Fr|Sa|Su)$]]></pattern> <description>English 2 character abbreviations for the days of the week</description> </regex> <regex> <name>English_monthwords</name> <pattern><![CDATA[^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)$]]></pattern> <description>English 3 character abbreviations for the months</description> </regex> <regex> <name>French_digitwords</name> <pattern><![CDATA[^(z[eé]ro|un|deux|trois|quatre|cinq|six|sept|huit|neuf)$]]></pattern> <description>The French words representing the digits 0 to 9</description> </regex> <regex> <name>German_digitwords</name> <pattern><![CDATA[^(null|eins|zwei|drei|vier|f(ue|ü)nf|sechs|sieben|acht|neun)$]]></pattern> <description>The German words representing the digits 0 to 9</description> </regex> <regex> <name>Spanish_digitwords</name> <pattern><![CDATA[^(cero|uno|dos|tres|cuatro|cinco|seis|siete|ocho|nueve)$]]></pattern> <description>The Spanish words representing the digits 0 to 9</description> </regex> <regex> <name>US_zip</name> <pattern><![CDATA[^\d{5}(-\d{4})?$]]></pattern> <description>US zip code with optional dash-four</description> </regex> <regex> <name>US_phone</name> <pattern><![CDATA[^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$]]></pattern> <description>US phone number with or without dashes</description> </regex> <regex> <name>US_state</name> <pattern><![CDATA[^(AE|AL|AK|AP|AS|AZ|AR|CA|CO|CT|DE|DC|FM|FL|GA|GU|HI|ID|IL|IN|IA|KS|KY|LA|ME|MH|MD|MA|MI|MN|MS|MO|MP|MT|NE|NV|NH|NJ|NM|NY|NC|ND|OH|OK|OR|PW|PA|PR|RI|SC|SD|TN|TX|UT|VT|VI|VA|WA|WV|WI|WY)$]]></pattern> <description>2 letter U.S. state abbreviations</description> </regex> <regex> <name>US_ssn</name> <pattern><![CDATA[^\d{3}-\d{2}-\d{4}$]]></pattern> <description>9 digit U.S. social security number with dashes</description> </regex> <!-- Some additional examples that have not been vetted // HTML HEX CODE ^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$ // FLOATING POINT ^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$ // PERSON NAME ^[a-zA-Z]+(([',. -][a-zA-Z ])?[a-zA-Z]*)*$ // MAC ADDRESS ^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$ // GUID ^[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}$ // IP ADDRESS ^\b((25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\b$ // IP ADDRESS (^\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b$ // REASONABLE DOMAIN NAME ^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$ // RFC 1918 NON ROUTABLE IP ^(((25[0-5]|2[0-4][0-9]|19[0-1]|19[3-9]|18[0-9]|17[0-1]|17[3-9]|1[0-6][0-9]|1[1-9]|[2-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9]))|(192\.(25[0-5]|2[0-4][0-9]|16[0-7]|169|1[0-5][0-9]|1[7-9][0-9]|[1-9][0-9]|[0-9]))|(172\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|1[0-5]|3[2-9]|[4-9][0-9]|[0-9])))\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$ // VALID WINDOWS FILENAME ^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)[^\x00-\x1f\\?*:\";|/]+$ // Java Classname ^(([a-z])+.)+[A-Z]([a-z])+$ // ANY PLATFORM FILENAME ^(([a-zA-Z]:|\\)\\)?(((\.)|(\.\.)|([^\\/:*?"|<>. ](([^\\/:*?"|<>. ])|([^\\/:*?"|<>]*[^\\/:*?"|<>. ]))?))\\)*[^\\/:*?"|<>. ](([^\\/:*?"|<>. ])|([^\\/:*?"|<>]*[^\\/:*?"|<>. ]))?$ -->
Subscribe to:
Posts (Atom)