Torna indietro   Hardware Upgrade Forum > Software > Microsoft Windows > Microsoft Windows 8.1 e 10

Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA
Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA
Abbiamo partecipato ad Appian World 2024, evento dedicato a partner e clienti che si è svolto recentemente nei pressi di Washington DC, vicino alla sede storica dell’azienda. Nel festeggiare il 25mo anniversario, Appian ha annunciato diverse novità in ambito intelligenza artificiale
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini
Primo contatto con il monitor Lenovo ThinkVision 3D 27 che grazie a particolari accorgimenti tecnici riesce a ricreare l'illusione della spazialità tridimensionale senza che sia necessario utilizzare occhialini
La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing
La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing
Abbiamo visto ancora una volta la Formula E da vicino, ospiti di Jaguar TCS Racing. In questa occasione però curve e rettilinei erano quelli di un circuito permanente, molto diverso dagli stretti passaggi delle strade di Roma
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-11-2020, 11:03   #1
Lele191278
Member
 
Iscritto dal: Aug 2001
Città: Roma
Messaggi: 197
Aiuto per creazione batch file

Ciao a tutti, non sono esperto di batch file, chiedo a voi se qualcuno ne sa piu' di me.

Ho la una serie di file in una cartella formattati in questo modo:
a a - b b b.xxx
a a - c c c.xxx
d d d - e e.xxx
d d d - f f f.xxx
....

Avrei bisogno di una procedura batch che mi crei n cartelle che si chiamino come la prima parte del nome del file a sinistra del - e che successivamente i file vengano inseriti nelle relative cartelle
So che e' possibile farlo, ho provato a studiarmi un po il codice ma e' troppo complicato per le mie conoscenze.

Qualcuno e' in grado di scrivermi la procedura batch?

Grazie!
Lele191278 è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2020, 17:29   #2
xelion21
Member
 
Iscritto dal: Jul 2008
Messaggi: 67
@Lele191278

Spero di aver capito la tua richiesta, prova e vedi se ti va bene.

codice
-----------------------------------------------------
@echo off
cd %~dp0

if not exist %~dp0\a a - b b b md %~dp0\a a - b b b
if not exist %~dp0\a a - c c c md %~dp0\a a - c c c
if not exist %~dp0\d d d - e e md %~dp0\d d d - e e
if not exist %~dp0\d d d - f f f md %~dp0\d d d - f f f

move /y "%~dp0\a a - b b b.xxx" "%~dp0\a a - b b b"
move /y "%~dp0\a a - c c c.xxx" "%~dp0\a a - c c c"
move /y "%~dp0\d d d - e e.xxx" "%~dp0\d d d - e e"
move /y "%~dp0\d d d - f f f.xxx" "%~dp0\d d d - f f f"

exit
-------------------------------------------------------
xelion21 è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2020, 21:52   #3
Lele191278
Member
 
Iscritto dal: Aug 2001
Città: Roma
Messaggi: 197
Ciao e grazie per la risposta, penso di essermi espresso male, ho usato le lettere ma i nomi dei file sono i più disparati, alcuni sono anche divisi da spazi ma quello che mi interessa è quello che c è prima del - che deve essere il nome delle singole cartelle.

Grazie
Lele191278 è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2020, 11:49   #4
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8685
Come inizio da cui partire. Da qui puoi completare il codice
Codice:
@ECHO OFF

SET "input=a a - b b b.xxx"

FOR /f "tokens=1,2 delims=-" %%x IN ("%input%") DO (
  echo sinistra: %%x
  echo destra: %%y
)
PAUSE
Facendo un ciclo FOR per cercare i file (invece della variabile statica INPUT che ho messo come esempio) e nel ciclo al posto degli ECHO metti la creazione cartella e lo spostamento del file
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2020, 19:50   #5
Lele191278
Member
 
Iscritto dal: Aug 2001
Città: Roma
Messaggi: 197
Grazie x_master_x, ma sono un po imbranato in materia, sono riuscito tramite un po di test a tirar fuori questo codice

@echo off
for %%a in (*.*) do (
md "%%~na" 2>nul
move "%%a" "%%~na"
)
pause

ma il problema è che mi crea il nome delle cartelle uguale a quello del file, invece a me serve che il nome della cartella sia uguale a tutto quello che c'è a sx del - e che dentro questa cartella ci vadano a finire tutti i file con gli stessi caratteri a sx di -

Riesci adarmi qualche altro aiuto? Grazie!
Lele191278 è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2020, 20:40   #6
Lele191278
Member
 
Iscritto dal: Aug 2001
Città: Roma
Messaggi: 197
Sono andato uno step avanti e sono riuscito a far creare le cartelle come volevo con questo codice

@ECHO OFF
for /F "tokens=1,2 delims=-" %%A in ('dir /B *.*') DO (
md "%%A" 2>nul
move "*.*" "%%A"
)
PAUSE

Ma poi mi sposta tutti i file in tutte le cartelle, invece deve spostare i singoli file nelle relative cartelle a seconda del nome (parte del file a sx del -)

Lele191278 è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2020, 23:31   #7
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8685
Quasi. Visto che ti sei impegnato:
Codice:
@ECHO OFF

FOR /F "tokens=1,2 delims=-" %%X IN ('DIR /B *.*') DO (
  MD "%%X"
  MOVE "%%X-%%Y" "%%X"
)
PAUSE
%%X-%%Y fa la differenza. Due token, due lettere

Struttura iniziale:
Codice:
abc - prova.txt
cde - prova.txt
efg - prova.txt
Struttura finale:
Codice:
abc --> abc - prova.txt
cde --> cde - prova.txt
efg --> efg - prova.txt
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2020, 10:35   #8
Lele191278
Member
 
Iscritto dal: Aug 2001
Città: Roma
Messaggi: 197
Grazie, adesso funziona perfettamente!

Lele191278 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Appian: non solo low code. La missione è l’ottimizzazione dei processi con l'IA Appian: non solo low code. La missione è ...
Lenovo ThinkVision 3D 27, la steroscopia senza occhialini Lenovo ThinkVision 3D 27, la steroscopia senza o...
La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing La Formula E può correre su un tracciato ...
Lenovo LEGION e LOQ: due notebook diversi, stessa anima gaming Lenovo LEGION e LOQ: due notebook diversi, stess...
Nothing Ear e Ear (a): gli auricolari per tutti i gusti! La ''doppia'' recensione Nothing Ear e Ear (a): gli auricolari per tutti ...
Ottimo prezzo per il portatile gaming AS...
Tutti i robot aspirapolvere in offerta: ...
Tesla rinnova la Model 3 Performance: mo...
Intelligenza artificiale, la legge itali...
Due super mini PC Ryzen 7 5700U, 32GB RA...
Le prossime CPU AMD desktop si chiameran...
Tutte le offerte hardware del momento: N...
Portatile tuttofare HP a 399€: Schermo 1...
Apple e la calcolatrice su iPad: con il ...
PC portatili tuttofare di marca, con 24G...
Vgp Play è la prima piattaforma s...
EKWB risponde: saremo più traspar...
NOW aumenta di 5€ (o di 10€) il pass per...
Torna la friggitrice ad aria Cecotec 5.5...
JEDEC aggiorna le specifiche DDR5 e port...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:15.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Served by www2v