È qualcosa di simile a questo possibile nella shell standard di Windows utilizzando solo i caratteri jolly?Nome file globbing Windows vs. Unix
$ ls -1 003[5,8]0
00350
00380
È qualcosa di simile a questo possibile nella shell standard di Windows utilizzando solo i caratteri jolly?Nome file globbing Windows vs. Unix
$ ls -1 003[5,8]0
00350
00380
Non nella shell di comando standard di windows (cmd.exe). Comprende solo il? e * caratteri jolly; nessuna espressione regolare
Avete la possibilità di installare Cygwin, Windows PowerShell o un'altra shell avanzata?
sì, è possibile. Non con un singolo comando, ma con una combinazione di FOR
e IF
. Provate a ottenere iniziare ...
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!
)
)
Purtroppo non im grado di installare eventuali altre shell, poiché questo è un ambiente di produzione e io non sono diritti per farlo – lukuluku
non credo che questo è del tutto vero. Potresti fare un'espressione regolare con 'findstr' con l'input da un comando' dir' inviato, non sono sicuro di come scriverlo, ma penso che dovrebbe essere possibile. Sono sicuro che @dbenham o @jeb saranno in grado di inventare qualcosa :) –
Abbastanza giusto. Se vuoi solo il testo in uscita e non gli effetti collaterali dal comando, allora 'dir | findstr/r "003 [5,8] 0" 'funzionerà. – Simbilis