PDA

View Full Version : Crea nuova cartella che abbia per nome la data odierna


zappy
24-02-2009, 10:55
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
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
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.

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 )

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
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/how-to-create-date-based-folder-names.html
http://pcworld.about.com/magazine/2310p142id122112.htm

DjDiabolik
24-12-2015, 20:17
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!