Hardware Upgrade Forum

Hardware Upgrade Forum (https://www.hwupgrade.it/forum/index.php)
-   Tutorial, consigli e trucchi (https://www.hwupgrade.it/forum/forumdisplay.php?f=63)
-   -   Crea nuova cartella che abbia per nome la data odierna (https://www.hwupgrade.it/forum/showthread.php?t=1934576)


zappy 24-02-2009 10:55

Crea nuova cartella che abbia per nome la data odierna
 
Quando si crea una nuova cartella questa si chiama "Nuova cartella" che è un nome stupido.
Si può con qualche script VBS, JS o batch fare in modo che la nuova cartella abbia come nome la data odierna tipo "2009-02-24"?
Grazie :)

Khronos 24-02-2009 15:34

io proverei con un batch.
cerchi di sapere dove ti trovi in questo momento con explorer (in che indirizzo).
salvi in una variabile il date, e dai "md variabile".
poi prendi questo batch, lo tieni da qualche parte, e aggiungi un context menù handler al clic col destro in explorer, tramite uno dei software che li maneggia per bene (oppure manualmente col registro).

ci provo a casa, ora sono in uni. anche perchè il "sapere dove ti trovi" è molto più immediato selezionando un file, piuttosto che selezionando lo spazio vuoto di una finestra in explorer. sta li il problema. cercasi script in google...
ciao

zappy 24-02-2009 15:55

Quote:

Originariamente inviato da Khronos (Messaggio 26434821)
io proverei con un batch.
cerchi di sapere dove ti trovi in questo momento con explorer (in che indirizzo).
salvi in una variabile il date, e dai "md variabile".
poi prendi questo batch, lo tieni da qualche parte, e aggiungi un context menù handler al clic col destro in explorer, tramite uno dei software che li maneggia per bene (oppure manualmente col registro).

ci provo a casa, ora sono in uni. anche perchè il "sapere dove ti trovi" è molto più immediato selezionando un file, piuttosto che selezionando lo spazio vuoto di una finestra in explorer. sta li il problema. cercasi script in google...
ciao

chiedevo proprio xchè di shell e script non sono molto ferrato... insomma, non saprei come fare! :)

Khronos 24-02-2009 16:09

un piccolo passo in avanti

si potrebbe usare %L per sapere dove ti trovi quando clicchi col destro su un'area vuota in explorer. sperando che funzioni. altrimenti, per saperlo (e per far funzionare l'eventuale script), tu dovrai PER FORZA cliccare sulla cartella PADRE (quella al cui interno vuoi creare le tue nuove cartelle con la data) e in quel caso %1 dirà l'indirizzo della cartella selezionata.
una volta saputo dove ti trovi (è necessario perchè lo script, non trovandosi nella tua cartella ma ad esempio in C:\vattelapesca, deve partire con un bel
cd "cartella dove ti trovi"
che si risolve con un bel cd %1 o cd %L.
fatto questo, bisogna vedere come salvare in una variabile il "date", o se è già possibile usare "date" come variabile.
il comando finale sarà appunto
md %nomevariabile%

3 righe di batch. ^^

bio n3t 24-02-2009 17:24

stavo provando a fare md %date% ma il problema è che restituisce un valore tipo 24/2/2009 e le barre non sono accettate nel nome di una cartella o file...
perciò se esistesse un modo per ottenere il formato della data il un altro modo allora si potrebbe fare... oppure una variabile che dia giorno mese e anno separatamente, ma non penso ci sia, spero che qualcuno possa smentirmi.

EDIT: con l'ora funziona benissimo dato che il formato è hh.mm.ss

john_revelator 24-02-2009 20:41

md %date:~0,2%-%date:~3,2%-%date:~6,4%

vedi tu come ordinare i parametri.

bio n3t 24-02-2009 20:46

Quote:

Originariamente inviato da john_revelator (Messaggio 26439191)
md %date:~0,2%-%date:~3,2%-%date:~6,4%

vedi tu come ordinare i parametri.

:eek: come hai fatto?? :D saresti così gentile da spiegarmi cosa significa tutti sti simboli? te ne sarei tanto grato :) grazie

ezio 24-02-2009 21:42

In rilievo in "Tutorial, Consigli e Trucchi". Cercavo da tempo qualcosa di simile, grazie anche da parte mia :D

john_revelator 24-02-2009 21:44

Semplicemente digitando date ottieni 24/02/2009. Non ho fatto altro che scomporre la stringa della data, recuperando il giorno (a partire dal primo carattere che ha indice 0 per un totale di 2 caratteri), il mese a partire dal quarto carattere (quindi con indice tre per altri 2 caratteri) ed infine allo stesso modo l'anno. :)

edit.

Quote:

Originariamente inviato da ezio (Messaggio 26440059)
In rilievo in "Tutorial, Consigli e Trucchi". Cercavo da tempo qualcosa di simile, grazie anche da parte mia :D

Di nulla figurati. :)

bio n3t 24-02-2009 22:04

ahhhh ho capito quindi basta mettere stringa:~posizione, numero caratteri wow sei un grande

Khronos 25-02-2009 10:22

ok, ora manca "solo" la parte dell'indirizzo da explorer... come intendiamo procedere? click sulla cartella padre e quindi %1 o tentativo con %L?

zappy 25-02-2009 10:32

md %date:~6,4%-%date:~3,2%-%date:~0,2%

crea 2009-02-25 (anno-mese-giorno)

Grandioso, grazie è perfetto :)

Per la parte dell'indirizzo di explorer, io sarei propenso ad "attaccare" il batch a
tasto destro>Nuovo>Cartella
Dovrebbe essere automaticamente creata nel posto dove si fa [tastodestro] no? cioè, explorer.exe dovrebbe gestirsela da solo, credo.
Il problema è che non so bene dove si configura 'sta cosa (Strumenti>Opzioni cartella>Tipi di file>Cartella?)

Khronos 25-02-2009 12:49

no.
o si usa un programmino che ora non ricordo come si chiama (context menu shell editor, un'unione di queste parole all'incirca) o si usa il registro di windows.

comunque lo faremo uscire al tasto destro diretto, senza dover per forza usare il sottomenù.

ma quello che intendevo io era il principale problema del tuo batch.
se tu sei in explorer in c:\ciao o in c:\miao o in x:\bau, il batch deve riconoscere di dover lavorare li dentro. mi sembra naturale che tu non debba copiare in c:\ciao e in c:\miao e in x:\bau il tuo batch, ma bisogna tenerlo in una posizione fissa, ad esempio C:\, in modo che la voce di menù creata nel tasto destro PUNTI al batch in quella posizione.
purtroppo sono "leggermente occupato" e soprattutto sto su linux, non posso sperimentare di persona in questo momento, mi spiace.
serve qualcuno che provi la faccenda di "%L" e dell'inserimento del batch nel menù di contesto.

bio n3t 25-02-2009 13:34

dovrei avercela fatta (cioè ce l'avete fatta voi io ho collegato il tutto :D )

Allegato 69202

è uno zip con un file reg e uno bat,
1_ copia il file bat in C:\windows\system32
2_ clicca sul file di registro
3_ per creare la cartella con la data devi cliccare su una cartella e se ne creerà una nella stessa directory però... non sono riuscito a fare di meglio, magari qualcuno potrà affinare il tutto ;)

ciao facci sapere

Khronos 26-02-2009 11:25

quindi, se in C:\ciao io voglio creare C:\ciao\10-10-2008, deve già esistere una c:\ciao\ciao su cui cliccare per far apparire il context menù handler delle cartelle, con la tua soluzione. ^^

ok. giuro che nel weekend applico la tua e provo %L.

bio n3t 26-02-2009 13:42

Quote:

Originariamente inviato da Khronos (Messaggio 26462010)
quindi, se in C:\ciao io voglio creare C:\ciao\10-10-2008, deve già esistere una c:\ciao\ciao su cui cliccare per far apparire il context menù handler delle cartelle, con la tua soluzione. ^^

ok. giuro che nel weekend applico la tua e provo %L.

si proprio così... deve esserci una cartella già all'interno su cui cliccare.. purtroppo non sono riuscito a fare di meglio...
cmq se usi un programma dovresti riuscire a farcela ;)

zappy 26-02-2009 15:24

Uao, siete grandosi! :)
Non pensavo di sollevare una questione che intrippava così tanti :D

In effetti cmq fa molto comodo quando si devono archiviare tanti file (x es foto).

cmq x ora ho parzialmente risolto mettendo il batch in una posizione fissa e crendo un link a questo che nelle proprietà ha il parametro "da:" impostato a "%curdir%".
Il link è ovviamente da mettere nella catrella sotto la quale si vuole creare quella con la data ma è sempre lo stesso link identico: basta metterlo da qualche parte e cliccarlo.
x es ne ho messo una copia in "immagini".

zappy 26-02-2009 15:29

Qua forse un aiuto a sbrogliare la cosa :)

http://www.instantfundas.com/2008/12...der-names.html
http://pcworld.about.com/magazine/2310p142id122112.htm

DjDiabolik 24-12-2015 20:17

Quote:

Originariamente inviato da john_revelator (Messaggio 26439191)
md %date:~0,2%-%date:~3,2%-%date:~6,4%

vedi tu come ordinare i parametri.

Mammamia che dritta che è questa... fino ad adesso andavo avanti a bestemmie con i comandi GNU e il grep & C.
Ora basta che salvo tutto in una variabile e spezzo tutto come mi pare e piace direttamente dal batch!

selidori 18-01-2022 10:12

Anche se son passati anni, propongo la mia soluzione, che va con tutti i windows e non si pasticcia col registro.

La logica è che si esegue il comando (dove si vuole) forzandolo come SENDTO. Quindi ha il solo inconveniente che dove si vuole creare la cartella bisogna sia presente un file (o cartella) qualsiasi da puntare (che è assolutamente ininfluente e non viene toccato). Se la cartella è vuota, infatti non si può INVIARE nulla ovvero eseguire il comando.

Dunque, per realizzare la funzione,

1) aprire la cartella
Codice:

shell:sendto
(è la scorciatoia dove c'e' già l'INVIA A, è stringa universale della variabile multilingua, quindi ad esempio potete inserirla nel prompt dei comandi o ESEGUI o finestra di file explorer dove volete)

2) crearci in quel percoso un file *.bat col nome che volete voi (ad esempio CREA_CARTELLA_OGGI.BAT) e dentro metteteci il codice:
Codice:

mkdir %date:~6,4%.%date:~3,2%.%date:~0,2%-
3) chiudete il file e salvatelo

Ora provate, in una qualsiasi visualizzazione file, a puntare un file qualsiasi col tasto destro del mouse e scegliere INVIA A ed ovviamente selezionare CREA_CARTELLA_OGGI.BAT
Dovrebbe crearvi una cartella con la data di oggi.


NOTE:
- ovviamente il file deve essere BAT. Non mettete spazi nel nome file se no ci si complica la vita
- la sintassi del %date estre la data in italiano e la formatta come 2022.01.18. Potete ovviamente rimodificarla come volete. Io preferisco questo formato perchè poi le cartelle si ordinano in automatico per data. Inoltre alla fine ho messo un "-" per aggiungere una parte descrittiva. anche qua potete sbizzarrirvi con eventuale testo fisso (ma occhio a spazi, caratteri riservati come : o > ecc)
- extra bonus: già che ci sono, io cancello sempre un po' di porcheria che c'è nel sendto.... :D


Tutti gli orari sono GMT +1. Ora sono le: 02:43.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Hardware Upgrade S.r.l.