von der Kommandozeile Sie keine Probleme mit dem angegebenen Befehl haben sollte, aber im Inneren Batch-Dateien benötigen Sie die Prozentzeichen
... .format="[%%1$tc] %%4$s: %%5$s %%6$s%%n"
Notiz zu entkommen (sie Verdoppelung): Wenn ich sage, man sollte nicht habe irgendein Problem in der Befehlszeile, ich meine nicht, dass du keine Probleme haben kannst, solltest du nicht.
In Stapeldateien ersetzt der Parser jede Variablenreferenz. Wenn die Variable nicht existiert, wird sie einfach entfernt. So, wie %1
zu %9
Batch-Datei Argumente sind, wird der Code analysiert als
format="[%1$tc] %4$s: %5$s %6$s%n"
^^............................ first argument to batch file
^^..................... fourth argument to batch file
^^............... fifth argument to batch file
^^.......... sixth argument to batch file
^....... unpaired % - removed
Wenn Sie keine Argumente übergeben, um die Batch-Datei, dies zu
umgewandelt wird
format="[$tc] $s: $s $sn"
In Befehlszeile dieses Verhalten ist anders, wenn die Variable nicht existiert, lässt der Parser die Variable einfach wie im Befehl. In Ihrem Fall wird der Parser versuchen, es so
format="[%1$tc] %4$s: %5$s %6$s%n"
^......^ ...................... variable "1$tc] "
^....^ ........... variable "5$s "
^........ unpaired - leave
Also, zu lösen, wenn Sie so etwas wie haben
set "1$tc] =data"
Sie sollten keine Probleme