<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Cmd on it-grossniklaus.ch</title>
    <link>https://it-grossniklaus.ch/tags/cmd/</link>
    <description>Recent content in Cmd on it-grossniklaus.ch</description>
    <generator>Hugo</generator>
    <language>de</language>
    <atom:link href="https://it-grossniklaus.ch/tags/cmd/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Argumente und Expansion</title>
      <link>https://it-grossniklaus.ch/pages/topics/dev/shell/cmd/args/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://it-grossniklaus.ch/pages/topics/dev/shell/cmd/args/</guid>
      <description>&lt;h3 id=&#34;call-&#34;&gt;call /?&lt;/h3&gt;&#xA;&lt;pre class=&#34;terminal-in w3-theme-d5 notranslate&#34;&gt;&#xA;call /?&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;pre class=&#34;terminal-out w3-theme-l3 notranslate&#34;&gt;&#xA;...&#xA;Zusätzlich hat sich die Auflösung von Referenzen auf Argumente in&#xA;Batchdateien (%0, %1 etc.) wie folgt geändert:&#xA;&#xA; %* in einer Batchdatei bezieht sich auf alle Argumente (z. B. %1 %2&#xA;     %3 %4 %5 ...).&#xA;&#xA; Die Ersetzung von Batchparametern (%n) wurde erweitert. Sie können&#xA; jetzt folgende Syntax verwenden:&#xA;&#xA; %~1         - Expandiert %1 und entfernt umschließende&#xA;               Anführungszeichen &#xA; %~f1        - Expandiert %1 zu einem vollständigen Dateinamen.&#xA; %~d1        - erstellt nur den Laufwerkbuchstaben von %1.&#xA; %~p1        - erstellt nur den Pfad von %1.&#xA; %~n1        - erstellt nur den Dateinamen von %1.&#xA; %~x1        - erstellt nur die Dateierweiterung von %1.&#xA; %~s1        - Der erstellte Pfad enthält nur kurze Namen.&#xA; %~a1        - Expandiert %1 zu Dateiattributen.&#xA; %~t1        - Expandiert %1 zu Datum/Zeit der Datei.&#xA; %~z1        - Expandiert %1 zur Größe der Datei.&#xA; %~$PATH:1   - Durchsucht die in der PATH-Umgebungsvariablen&#xA;               angegebenen Verzeichnisse und expandiert die erste&#xA;               gefundene Datei %1 zu dem vollständigen Dateinamen.&#xA;               Wenn der Name der Umgebungsvariablen nicht definiert&#xA;               ist oder diese Datei bei der Suche nicht gefunden&#xA;               wurde, wird dieser Parameter zu einer leeren&#xA;               Zeichenfolge expandiert.&#xA;&#xA; Diese Parameter können auch miteinander kombiniert werden:&#xA;&#xA;     %~dp1       - erstellt den Laufwerkbuchstaben und Pfad von %1.&#xA;     %~nx1       - erstellt den Dateinamen und die Dateierweiterung&#xA;                    von %1.&#xA;     %~dp$PATH:1 - Durchsucht die in der PATH-Umgebungsvariablen ange-&#xA;                    gebenen Verzeichnisse nach %1 und erstellt den Lauf-&#xA;                    werkbuchstaben und Pfad der ersten gefundenen Datei.&#xA;     %~ftza1     - erstellt eine DIR-ähnliche Ausgabezeile von %1.&#xA;&#xA; In den angegebenen Beispielen können %1 und PATH durch andere gültige&#xA; Werte ersetzt werden. Die Syntax von %~ wird durch eine gültige Argument-&#xA; anzahl beendet. %~ darf nicht mit %* verwendet werden.&#xA;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>findstr</title>
      <link>https://it-grossniklaus.ch/pages/topics/dev/shell/cmd/findstr/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://it-grossniklaus.ch/pages/topics/dev/shell/cmd/findstr/</guid>
      <description>&lt;h3 id=&#34;sql-server-sqlcmdexe-deployment-errors-auflisten&#34;&gt;SQL Server sqlcmd.exe Deployment Errors auflisten&lt;/h3&gt;&#xA;&lt;pre class=&#34;terminal-in w3-theme-d5 notranslate&#34;&gt;&#xA;findstr /C:&#34;Msg&#34; /B /N /S ..\*.log&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;h3 id=&#34;oracle-sqlplusexe-deployment-errors-auflisten&#34;&gt;Oracle sqlplus.exe Deployment Errors auflisten&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cmd&#34; data-lang=&#34;cmd&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;findstr /S /n /B /C:&lt;span class=&#34;s2&#34;&gt;&amp;#34;ORA-&amp;#34;&lt;/span&gt; /C:&lt;span class=&#34;s2&#34;&gt;&amp;#34;ERROR at line&amp;#34;&lt;/span&gt;    *.log &lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;%~dpn0&lt;/span&gt;.err.1.log&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;findstr /S /n /B /C:&lt;span class=&#34;s2&#34;&gt;&amp;#34;ORA-&amp;#34;&lt;/span&gt;                       *.log &lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;%~dpn0&lt;/span&gt;.err.1.log&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;findstr /V       /C:&lt;span class=&#34;s2&#34;&gt;&amp;#34;does not exist&amp;#34;&lt;/span&gt;  &lt;span class=&#34;nv&#34;&gt;%~dpn0&lt;/span&gt;.err.1.log &lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;%~dpn0&lt;/span&gt;.err.2.log&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;findstr-&#34;&gt;findstr /?&lt;/h3&gt;&#xA;&lt;pre class=&#34;terminal-in w3-theme-d5 notranslate&#34;&gt;&#xA;findstr /?&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;pre class=&#34;terminal-out w3-theme-l3 notranslate&#34;&gt;&#xA;Searches for strings in files.&#xA;&#xA;FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]&#xA;        [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]&#xA;        strings [[drive:][path]filename[ ...]]&#xA;&#xA;  /B         Matches pattern if at the beginning of a line.&#xA;  /E         Matches pattern if at the end of a line.&#xA;  /L         Uses search strings literally.&#xA;  /R         Uses search strings as regular expressions.&#xA;  /S         Searches for matching files in the current directory and all&#xA;             subdirectories.&#xA;  /I         Specifies that the search is not to be case-sensitive.&#xA;  /X         Prints lines that match exactly.&#xA;  /V         Prints only lines that do not contain a match.&#xA;  /N         Prints the line number before each line that matches.&#xA;  /M         Prints only the filename if a file contains a match.&#xA;  /O         Prints character offset before each matching line.&#xA;  /P         Skip files with non-printable characters.&#xA;  /OFF[LINE] Do not skip files with offline attribute set.&#xA;  /A:attr    Specifies color attribute with two hex digits. See &#34;color /?&#34;&#xA;  /F:file    Reads file list from the specified file(/ stands for console).&#xA;  /C:string  Uses specified string as a literal search string.&#xA;  /G:file    Gets search strings from the specified file(/ stands for console).&#xA;  /D:dir     Search a semicolon delimited list of directories&#xA;  strings    Text to be searched for.&#xA;  [drive:][path]filename&#xA;             Specifies a file or files to search.&#xA;&#xA;Use spaces to separate multiple search strings unless the argument is prefixed&#xA;with /C.  For example, &#39;FINDSTR &#34;hello there&#34; x.y&#39; searches for &#34;hello&#34; or&#xA;&#34;there&#34; in file x.y.  &#39;FINDSTR /C:&#34;hello there&#34; x.y&#39; searches for&#xA;&#34;hello there&#34; in file x.y.&#xA;&#xA;Regular expression quick reference:&#xA;  .        Wildcard: any character&#xA;  *        Repeat: zero or more occurrences of previous character or class&#xA;  ^        Line position: beginning of line&#xA;  $        Line position: end of line&#xA;  [class]  Character class: any one character in set&#xA;  [^class] Inverse class: any one character not in set&#xA;  [x-y]    Range: any characters within the specified range&#xA;  \x       Escape: literal use of metacharacter x&#xA;  \&lt;xyz    Word position: beginning of word&#xA;  xyz\&gt;    Word position: end of word&#xA;&#xA;For full information on FINDSTR regular expressions refer to the online Command&#xA;Reference.&#xA;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>forfiles</title>
      <link>https://it-grossniklaus.ch/pages/topics/dev/shell/cmd/forfiles/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://it-grossniklaus.ch/pages/topics/dev/shell/cmd/forfiles/</guid>
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cmd&#34; data-lang=&#34;cmd&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;forfiles /p &lt;span class=&#34;nv&#34;&gt;%MYDATA%&lt;/span&gt;\CSV\      /m *.csv        /c &lt;span class=&#34;s2&#34;&gt;&amp;#34;cmd /c move /y @path &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;%MYDATA%&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;\CSV_Done\&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;forfiles /p &lt;span class=&#34;nv&#34;&gt;%MYDATA%&lt;/span&gt;\CSV_Done\ /m *.csv /d -30 /c &lt;span class=&#34;s2&#34;&gt;&amp;#34;cmd /c del  /q @path&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;forfiles /p &lt;span class=&#34;nv&#34;&gt;%MYDATA%&lt;/span&gt;\LOG\      /m *.log /d -30 /c &lt;span class=&#34;s2&#34;&gt;&amp;#34;cmd /c del  /q @path&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;forfiles /s /m &lt;span class=&#34;s2&#34;&gt;&amp;#34;*FooBar*&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;forfiles /s /m &lt;span class=&#34;s2&#34;&gt;&amp;#34;*FooBar*&amp;#34;&lt;/span&gt; /c &lt;span class=&#34;s2&#34;&gt;&amp;#34;cmd /c echo @path&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;forfiles-&#34;&gt;forfiles /?&lt;/h3&gt;&#xA;&lt;pre class=&#34;terminal-in w3-theme-d5 notranslate&#34;&gt;&#xA;forfiles /?&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;pre class=&#34;terminal-out w3-theme-l3 notranslate&#34;&gt;&#xA;FORFILES [/P pathname] [/M searchmask] [/S]&#xA;         [/C command] [/D [+ | -] {dd.MM.yyyy | dd}]&#xA;&#xA;Description:&#xA;    Selects a file (or set of files) and executes a&#xA;    command on that file. This is helpful for batch jobs.&#xA;&#xA;Parameter List:&#xA;    /P    pathname      Indicates the path to start searching.&#xA;                        The default folder is the current working&#xA;                        directory (.).&#xA;&#xA;    /M    searchmask    Searches files according to a searchmask.&#xA;                        The default searchmask is &#39;*&#39; .&#xA;&#xA;    /S                  Instructs forfiles to recurse into&#xA;                        subdirectories. Like &#34;DIR /S&#34;.&#xA;&#xA;    /C    command       Indicates the command to execute for each file.&#xA;                        Command strings should be wrapped in double&#xA;                        quotes.&#xA;&#xA;                        The default command is &#34;cmd /c echo @file&#34;.&#xA;&#xA;                        The following variables can be used in the&#xA;                        command string:&#xA;                        @file    - returns the name of the file.&#xA;                        @fname   - returns the file name without&#xA;                                   extension.&#xA;                        @ext     - returns only the extension of the&#xA;                                   file.&#xA;                        @path    - returns the full path of the file.&#xA;                        @relpath - returns the relative path of the&#xA;                                   file.&#xA;                        @isdir   - returns &#34;TRUE&#34; if a file type is&#xA;                                   a directory, and &#34;FALSE&#34; for files.&#xA;                        @fsize   - returns the size of the file in&#xA;                                   bytes.&#xA;                        @fdate   - returns the last modified date of the&#xA;                                   file.&#xA;                        @ftime   - returns the last modified time of the&#xA;                                   file.&#xA;&#xA;                        To include special characters in the command&#xA;                        line, use the hexadecimal code for the character&#xA;                        in 0xHH format (ex. 0x09 for tab). Internal&#xA;                        CMD.exe commands should be preceded with&#xA;                        &#34;cmd /c&#34;.&#xA;&#xA;    /D    date          Selects files with a last modified date greater&#xA;                        than or equal to (+), or less than or equal to&#xA;                        (-), the specified date using the&#xA;                        &#34;dd.MM.yyyy&#34; format; or selects files with a&#xA;                        last modified date greater than or equal to (+)&#xA;                        the current date plus &#34;dd&#34; days, or less than or&#xA;                        equal to (-) the current date minus &#34;dd&#34; days. A&#xA;                        valid &#34;dd&#34; number of days can be any number in&#xA;                        the range of 0 - 32768.&#xA;                        &#34;+&#34; is taken as default sign if not specified.&#xA;&#xA;    /?                  Displays this help message.&#xA;&#xA;Examples:&#xA;    FORFILES /?&#xA;    FORFILES&#xA;    FORFILES /P C:\WINDOWS /S /M DNS*.*&#xA;    FORFILES /S /M *.txt /C &#34;cmd /c type @file | more&#34;&#xA;    FORFILES /P C:\ /S /M *.bat&#xA;    FORFILES /D -30 /M *.exe&#xA;             /C &#34;cmd /c echo @path 0x09 was changed 30 days ago&#34;&#xA;    FORFILES /D 01.01.2001&#xA;             /C &#34;cmd /c echo @fname is new since Jan 1st 2001&#34;&#xA;    FORFILES /D +2.9.2015 /C &#34;cmd /c echo @fname is new today&#34;&#xA;    FORFILES /M *.exe /D +1&#xA;    FORFILES /S /M *.doc /C &#34;cmd /c echo @fsize&#34;&#xA;    FORFILES /M *.txt /C &#34;cmd /c if @isdir==FALSE notepad.exe @file&#34;&#xA;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Wrapper 1: Batch mit Zeitstempel Logfile</title>
      <link>https://it-grossniklaus.ch/pages/topics/dev/shell/cmd/wrapper-1-timestamp-logfile/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://it-grossniklaus.ch/pages/topics/dev/shell/cmd/wrapper-1-timestamp-logfile/</guid>
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cmd&#34; data-lang=&#34;cmd&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;rem ############################################################################&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;setlocal&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;FOR&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;/F&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;skip=1 tokens=1-6&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;%%&lt;/span&gt;G &lt;span class=&#34;k&#34;&gt;IN&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;DO&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   &lt;span class=&#34;k&#34;&gt;IF&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;se&#34;&gt;%%&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;~L&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;goto&lt;/span&gt; &lt;span class=&#34;nl&#34;&gt;s_done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;SET&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;_yyyy&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;se&#34;&gt;%%&lt;/span&gt;L&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;SET&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;_mm&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;00&lt;span class=&#34;se&#34;&gt;%%&lt;/span&gt;J&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;SET&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;_dd&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;00&lt;span class=&#34;se&#34;&gt;%%&lt;/span&gt;G&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;SET&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;_hour&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;00&lt;span class=&#34;se&#34;&gt;%%&lt;/span&gt;H&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;SET&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;_minute&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;00&lt;span class=&#34;se&#34;&gt;%%&lt;/span&gt;I&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;nl&#34;&gt;s_done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;: Pad digits with leading zeros&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;SET&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;_mm&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;%_mm:~-2%&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;SET&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;_dd&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;%_dd:~-2%&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;SET&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;_hour&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;%_hour:~-2%&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;SET&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;_minute&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;%_minute:~-2%&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;SET&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;MYDATE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;%_yyyy%%_mm%%_dd%&lt;/span&gt;_&lt;span class=&#34;nv&#34;&gt;%_hour%%_minute%&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;rem SET MYDATE=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;SET&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;MYPROCESS&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;Process_DEV_foobar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;SET&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;MYLOGPATH&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;D:\DATA\DEV\LOG&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;SET&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;MYLOGFILE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;%MYLOGPATH%&lt;/span&gt;\&lt;span class=&#34;nv&#34;&gt;%MYPROCESS%&lt;/span&gt;.&lt;span class=&#34;nv&#34;&gt;%MYDATE%&lt;/span&gt;.log&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;rem ############################################################################&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; on&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;cd&lt;/span&gt; /d &lt;span class=&#34;nv&#34;&gt;%~dp0&lt;/span&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;call&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;%MYPROCESS%&lt;/span&gt;.cmd &lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;%MYLOGFILE%&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;amp;&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; off&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;rem ############################################################################&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Wrapper 2: Logging (STDOUT und STDERR) optional in File</title>
      <link>https://it-grossniklaus.ch/pages/topics/dev/shell/cmd/wrapper-2-stdout-stderr-logging/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://it-grossniklaus.ch/pages/topics/dev/shell/cmd/wrapper-2-stdout-stderr-logging/</guid>
      <description>&lt;p&gt;&lt;code&gt;config.cmd&lt;/code&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cmd&#34; data-lang=&#34;cmd&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;rem SET DEBUG_LOG_LEVEL=1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;SET&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;DEBUG_PATH&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;C:\TEMP&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;process-some-stuff.cmd&lt;/code&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cmd&#34; data-lang=&#34;cmd&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;IF&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;EXIST&lt;/span&gt; config.cmd &lt;span class=&#34;k&#34;&gt;CALL&lt;/span&gt; config.cmd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;FOR&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;/f&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;%%&lt;/span&gt;a &lt;span class=&#34;k&#34;&gt;IN&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;WMIC OS GET LocalDateTime ^| FIND &amp;#34;.&amp;#34;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;DO&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;SET&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;DTS&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;se&#34;&gt;%%&lt;/span&gt;a&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;SET&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;DateTime&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;%DTS:~0,8%&lt;/span&gt;-&lt;span class=&#34;nv&#34;&gt;%DTS:~8,6%&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;IF&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;NOT&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;%DEBUG_PATH%&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;-&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;-&amp;#34;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;IF&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;EXIST&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;%DEBUG_PATH%&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;%~n0&lt;/span&gt;.run.cmd &lt;span class=&#34;nv&#34;&gt;%*&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;%DEBUG_PATH%&lt;/span&gt;\&lt;span class=&#34;nv&#34;&gt;%COMPUTERNAME%&lt;/span&gt;.&lt;span class=&#34;nv&#34;&gt;%~n0&lt;/span&gt;.&lt;span class=&#34;nv&#34;&gt;%DateTime%&lt;/span&gt;.log &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;%DEBUG_PATH%&lt;/span&gt;\&lt;span class=&#34;nv&#34;&gt;%COMPUTERNAME%&lt;/span&gt;.&lt;span class=&#34;nv&#34;&gt;%~n0&lt;/span&gt;.&lt;span class=&#34;nv&#34;&gt;%DateTime%&lt;/span&gt;.err.log&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;rem %DEBUG_PATH% exisitert nicht =&amp;gt; ohne Logfile Erstellung aufrufen&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;%~n0&lt;/span&gt;.run.cmd &lt;span class=&#34;nv&#34;&gt;%*&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;process-some-stuff.run.cmd&lt;/code&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-cmd&#34; data-lang=&#34;cmd&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;rem do stuff&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Zirkumflex (Escape Characters)</title>
      <link>https://it-grossniklaus.ch/pages/topics/dev/shell/cmd/caret/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://it-grossniklaus.ch/pages/topics/dev/shell/cmd/caret/</guid>
      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;p&gt;Also eigentlich das Quoting Zeichen (&lt;code&gt;\&lt;/code&gt;) unter Unix &amp;hellip;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
