Ist so etwas in der Windows-Standard-Shell nur mit Wildcards möglich?Dateiname globbing Windows vs. Unix
$ ls -1 003[5,8]0
00350
00380
Ist so etwas in der Windows-Standard-Shell nur mit Wildcards möglich?Dateiname globbing Windows vs. Unix
$ ls -1 003[5,8]0
00350
00380
nicht in den Standard-Windows-Eingabeschalen (cmd.exe). Es versteht nur die? und * Platzhalter; keine regulären Ausdrücke.
Haben Sie die Möglichkeit, Cygwin, Windows PowerShell oder eine andere erweiterte Shell zu installieren?
ja, du kannst. Nicht mit einem einzigen Befehl, sondern mit einer Kombination von FOR
und IF
. Versuchen Sie, diese für den Anfang ...
setlocal enabledelayedexpansion
for %%a in (003?0) do (
set fn=%%a
set fnl=!fn:~3,1!
if .!fnl!==.5 (
echo !fn!
)
if .!fnl!==.8 (
echo !fn!
)
)
Leider nicht in der Lage im, anderen Schalen zu installieren, da dies eine Produktionsumgebung ist und i dont Rechte zu tun haben, so – lukuluku
Ich glaube nicht, das ist ganz richtig. Du könntest eine Regex mit 'findstr' mit der Eingabe von einem piped' dir' Befehl machen, ich bin mir nicht sicher wie ich es schreiben soll, aber ich denke es sollte möglich sein. Ich bin sicher, dass @dbenham oder @jeb in der Lage sein werden, etwas zu finden :) –
Fair genug. Wenn Sie nur die Textausgabe und keine Nebeneffekte vom Befehl wünschen, dann 'dir | findstr/r "003 [5,8] 0" 'funktioniert. – Simbilis