/svarcom/trunk/command.c |
---|
767,6 → 767,7 |
static int forloop_process(char *res, struct forctx far *forloop) { |
unsigned short i, t; |
struct DTA *dta = (void *)0x80; /* default DTA at 80h in PSP */ |
char *fnameptr = dta->fname; |
TRYAGAIN: |
810,6 → 811,14 |
i += forloop->nextpat; |
forloop->nextpat = i; |
/* if this is a string and not a pattern, skip all the FindFirst business |
* a file pattern has a wildcard (* or ?), a message doesn't */ |
for (i = 0; (BUFFER[i] != 0) && (BUFFER[i] != '?') && (BUFFER[i] != '*'); i++); |
if (BUFFER[i] == 0) { |
fnameptr = BUFFER; |
goto SKIP_DTA; |
} |
/* FOR in MSDOS 6 includes hidden and system files, but not directories nor volumes */ |
if (findfirst(dta, BUFFER, DOS_ATTR_RO | DOS_ATTR_HID | DOS_ATTR_SYS | DOS_ATTR_ARC) != 0) { |
goto TRYAGAIN; |
830,6 → 839,8 |
/* copy updated DTA to rmod */ |
_fmemcpy(&(forloop->dta), dta, sizeof(*dta)); |
SKIP_DTA: |
/* fill res with command, replacing varname by actual filename */ |
/* full filename is to be built with path of curpat and fname from dta */ |
t = 0; |
845,7 → 856,7 |
if ((res[i] == ' ') || (res[i] == 0)) break; |
i++; |
} |
_fstrcpy(res + lastbk, dta->fname); |
strcpy(res + lastbk, fnameptr); |
for (i = lastbk; res[i] != 0; i++); |
t += 2; |
} else { |
/svarcom/trunk/history.txt |
---|
6,7 → 6,8 |
=== ver 2022.3 (xx.xx.xxxx) ================================================== |
- fixed stdin redirection handling (was broken since 2022.1) |
- FOR command accepts control characters as pattern delimiters |
- FOR command: accepts control characters as pattern delimiters |
- FOR command: patterns without wildcards are processed as messages |
- implemented the TRUENAME command |
- ln creates %DOSDIR%\LINKS directory when needed and warns on error |
- ln add outputs an error message when link already exists |
/svarcom/trunk/lang/de-utf8.txt |
---|
88,7 → 88,6 |
18.0:Führt einen angegebenen Befehl für jede Datei eines Satzes von Dateien aus. |
18.1:FOR %Variable IN (Satz) DO Befehl [Parameter] |
18.2:%Variable Ein ersetzbarer Parametername. (Einzelner Buchstabe) |
18.3:(Satz) Ein Satz von leerzeichengetrennten Dateien. Platzhalter erlaubt |
18.4:Befehl Der Befehl, der für jede passende Datei ausgeführt werden soll |
18.5:Parameter Parameter oder Schalter für den angegebenen Befehl |
18.6:In einem Stapelprogramm verwenden Sie %%Variable statt %Variable für FOR. |
/svarcom/trunk/lang/en-utf8.txt |
---|
87,7 → 87,7 |
18.0:Runs a specified command for each file in a set of files. |
18.1:FOR %variable IN (set) DO command [parameters] |
18.2:%variable A replaceable parameter name. (single letter) |
18.3:(set) A set of one of more space-separated files. Wildcards allowed. |
18.3:(set) One of more space-separated patterns or messages. |
18.4:command The command to carry out for each matched file. |
18.5:parameters Parameters or switches for the specified command. |
18.6:To use FOR in a batch program, use %%variable instead of %variable. |
/svarcom/trunk/lang/fr-utf8.txt |
---|
87,7 → 87,7 |
18.0:Exécute une commande spécifiée pour chaque fichier dans un jeu de fichiers. |
18.1:FOR %variable IN (set) DO commande [paramètres] |
18.2:%variable un nom de paramètre remplaçable. |
18.3:(set) jeu(x) de fichiers séparés par des espaces. Jokers autorisés. |
18.3:(set) une ou plusieurs expressions séparés par des espaces. |
18.4:commande la commande à exécuter pour chaque fichier correspondant. |
18.5:paramètres paramètres ou options pour la commande spécifiée. |
18.6:Pour utiliser FOR dans un programme batch, utilisez %%variable au lieu de\r\n%variable. |
/svarcom/trunk/lang/pl-utf8.txt |
---|
87,7 → 87,7 |
18.0:Wykonuje określone polecenie na każdym pliku sposród zestawu plików. |
18.1:FOR %zmienna IN (zestaw) DO polecenie [parametry] |
18.2:%zmienna nazwa zmiennej. |
18.3:(zestaw) zestaw plików, oddzielone spacjami. Znaki wieloznaczne dozwolone. |
18.3:(zestaw) Jeden lub więcej wzorów plików lub komunikatów, oddzielone spacją. |
18.4:polecenie polecenie do wykonania na każdym z pasujących plików. |
18.5:parametry parametry lub przełączniki dla określonego polecenia. |
18.6:Aby użyć FOR w programie wsadowym, użyj %%zmienna zamiast %zmienna. |
/svarcom/trunk/lang/tr-utf8.txt |
---|
87,7 → 87,6 |
18.0:Bir dosya dizisinde belirtilen komutu her dosya için çalıştırır. |
18.1:FOR %değişken IN (set) DO komut [parametreler] |
18.2:%değişken Değiştirilebilir parametre ismi. (tek harf) |
18.3:(set) Bir veya daha fazla boşlukla ayrılmış dosya adı. Jokerlere izin verilir. |
18.4:komut Denkleşen her dosya için çalıştırılacak komut. |
18.5:parametreler Belirtilen komut için parametre veya seçenekler. |
18.6:FOR'u bir toplu iş dosyasında kullanmak için, %değişken yerine %%değişken kullanın. |