View Full Version : 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 :)
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
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! :)
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. ^^
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.
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
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. :)
ahhhh ho capito quindi basta mettere stringa:~posizione, numero caratteri wow sei un grande
ok, ora manca "solo" la parte dell'indirizzo da explorer... come intendiamo procedere? click sulla cartella padre e quindi %1 o tentativo con %L?
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?)
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.
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
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.
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 ;)
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".
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!
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
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:
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
hai riesumato davvero roba antica... :)
in effetti il batch indicato su l'ho usato per anni... fino al pensionamento di win7 ed al passaggio a Linux...
ecco, se qualcuno sa come fare la stessa cosa con Linux, il suggerimento è beneaccetto :)
DjDiabolik
21-01-2022, 14:22
Esatto ragazzi... mi è arrivata la mail del reply e uau...
Onestamente non ricordo nemmeno per cosa mi serviva questa cosa....lol :)
Esatto ragazzi... mi è arrivata la mail del reply e uau...
Onestamente non ricordo nemmeno per cosa mi serviva questa cosa....lol :)
13 anni... :D
selidori
22-01-2022, 11:23
Personalmente la cosa che amo di più del web è la storicità e la possibilità di conservare ricordi e storie vecchie con pochissima spesa.
E che magari possono sempre tornare utili, come questa, nel quale ho voluto aggiungere la mia soluzione.
Come si è capito odio i social dove una cosa scritta rimane pochi secondi e poi è irricercabile (da noi, loro la trovano subito...) per sempre....
Personalmente la cosa che amo di più del web è la storicità e la possibilità di conservare ricordi e storie vecchie con pochissima spesa.
E che magari possono sempre tornare utili, come questa, nel quale ho voluto aggiungere la mia soluzione.
Come si è capito odio i social dove una cosa scritta rimane pochi secondi e poi è irricercabile (da noi, loro la trovano subito...) per sempre....
beh, dipende dal gestore del forum.
in questo, anni fa sparirono una montagna enorme di discussioni anche molto interessanti.... Archiviate.
leofguerri
12-09-2023, 17:45
grazie
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.