BIG (Umberto)
2011-04-07 20:44:54 UTC
Posto qua anche se non direttamente pertinente in quanto il problema é su un
sistema XP, ma dato che nel passato ho sempre trovato persone competenti...
Dunque ho un batch puro in una specifica sottodirectory che richiama se stesso
in un loop con dei parametri:
---[CUT]---
@echo off
if not (%1)==() goto loop
:main
set par1=numero1
det par2=numero2
---
cd altro-disco
cd altra sottodirectory
---
---
for %%v in (dati-ingresso) do call c:\subdir\%0 %%v
---
---
goto fine
:loop
---
---
........ > file%par1%.txt
:fine
---[CUT]---
Ora, se questo lo faccio partire da finestra dos, funzia.
Se creo un link (sul desktop) e lo faccio partire da li, il path del programma
(la voce: directory di lavoro), viene aggiunto al nome del programma quindi
la "call" diventa tipo:
c:\subdir\"c:\subdir\%0" %%v
... ed ovviamente la cosa non funziona.
Dato che il programmillo lo posso avviare sia da finestra dos che dal link sul
desktop, debbo poter distinguere i 2 casi e correggere la situazione.
Senza impazzire, esiste un accrocchio per scoprire da quale parte viene avviato
il tutto?
L'alternativa sarebbe sostituire il %0 col nome reale del programma, ma a volte
ne faccio una copia con un'altro nome, cambiando qualche parametro, e se mi
dimentico anche di cambiare il nome nel richiamo nella "call" faccio dei
casini (mi sovrascrive dei files che non vorrei...)
Non é questione di vita o di morte, ma semplice curiositá...
sistema XP, ma dato che nel passato ho sempre trovato persone competenti...
Dunque ho un batch puro in una specifica sottodirectory che richiama se stesso
in un loop con dei parametri:
---[CUT]---
@echo off
if not (%1)==() goto loop
:main
set par1=numero1
det par2=numero2
---
cd altro-disco
cd altra sottodirectory
---
---
for %%v in (dati-ingresso) do call c:\subdir\%0 %%v
---
---
goto fine
:loop
---
---
........ > file%par1%.txt
:fine
---[CUT]---
Ora, se questo lo faccio partire da finestra dos, funzia.
Se creo un link (sul desktop) e lo faccio partire da li, il path del programma
(la voce: directory di lavoro), viene aggiunto al nome del programma quindi
la "call" diventa tipo:
c:\subdir\"c:\subdir\%0" %%v
... ed ovviamente la cosa non funziona.
Dato che il programmillo lo posso avviare sia da finestra dos che dal link sul
desktop, debbo poter distinguere i 2 casi e correggere la situazione.
Senza impazzire, esiste un accrocchio per scoprire da quale parte viene avviato
il tutto?
L'alternativa sarebbe sostituire il %0 col nome reale del programma, ma a volte
ne faccio una copia con un'altro nome, cambiando qualche parametro, e se mi
dimentico anche di cambiare il nome nel richiamo nella "call" faccio dei
casini (mi sovrascrive dei files che non vorrei...)
Non é questione di vita o di morte, ma semplice curiositá...
--
+---------------------------------------------------------------------------+
| Per informazioni e suggerimenti |
| www.youporn.com |
+-----#10--------------------Campagna contro le pubblicita` idiote.---------+
+---------------------------------------------------------------------------+
| Per informazioni e suggerimenti |
| www.youporn.com |
+-----#10--------------------Campagna contro le pubblicita` idiote.---------+