DOMANDA Consigli su come realizzare questa funzione?

Warmuser

Utente Èlite
1,822
96
CPU
Intel Core i5-4590 (Quad Core, 6M Cache, turbo up to 3.70 GHz) + Scythe Shuriken Rev. B
Scheda Madre
Asus H97M-Plus Micro-ATX
HDD
Samsung 840 EVO 500GB - WD Caviar Red 3TB & 2TB
RAM
G.Skill Ripjaws Z 16GB (2x8GB) 1866Mhz cl9
GPU
Asus GTX 970 Strix
Audio
Integrata - Esterna ancora da valutare..
Monitor
1x Dell U2414H AH-IPS 8ms
PSU
XFX TS 550W - APC Back-UPS Pro 900VA
Case
Thermaltake Core V21 Micro-ATX Cube
OS
Windows 8.1 Update 1 (super aggiornato) & Linux/Android (emulati)
Mi servirebbe generare dalla lista di titoli in un file di testo dei molteplici file di testo con ciascuno un titolo della lista. Esempio:

Lista in Gruppi.txt:

Queen
Led Zeppelin
Guns N' Roses
Aerosmith
etc..

in

Queen.txt
Led Zeppelin.txt
Guns N' Roses.txt
Aerosmith.txt

Ed il batch dovrebbe fare questa cosa: Dal file "gruppi.txt" genera da ogni riga un "nome gruppo.txt" e se esiste un .txt uguale, ignoralo (così da escludere i duplicati).

Mi sono scervellato un po' ma non sono riuscito a concludere nulla. Ho deciso di provare ad rielaborare un batch che avevo creato qualche anno fa per comprimere massivamente con 7zFM tutte le cartelle (anche files mi pare) presenti in una cartella principale.

for /d %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a "%%X.7z" "%%X\"

Da questo ho tentato di elaborare questo batch:

for /d %%X in (test.txt) do "%windir%\system32\notepad.exe" a "%%X.txt" "%%X\"

Ma mi apre solo il .txt e mi dice che la sintassi non è corretta.

Non mi ricordo più molto di batch. Sto cercando di ricordare quanto più possibile rileggendo guide. Consigli?
 

Marcus Aseth

Utente Attivo
404
138
OS
Windows 10
non avendo nulla da fare te l'ho creato io, ecco il download --> http://s000.tinyupload.com/?file_id=04170711531594797827

Il funzionamento è semplice, estrai l'.exe in una nuova cartella, metti Lista dei Gruppi.txt nella stessa cartella, quando lanci l'exe inserisci il nome esatto del tuo file cioè Lista dei Gruppi.txt e il codice prende ogni riga in esso, ci appiccica .txt e ti crea il file in quella cartella.

codice:
C++:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;

int main()
{
    string inputFilePath;

    cout << "Insert list path: ";
    cin >> inputFilePath;

    ifstream inputFile{ inputFilePath };

    string newFileName;
    while (getline(inputFile, newFileName))
    {
        newFileName += ".txt";
        ofstream newFile { newFileName };
        newFile.close();       
    }
    inputFile.close();
    return 0;
}
 
  • Mi piace
Reazioni: Warmuser

Warmuser

Utente Èlite
1,822
96
CPU
Intel Core i5-4590 (Quad Core, 6M Cache, turbo up to 3.70 GHz) + Scythe Shuriken Rev. B
Scheda Madre
Asus H97M-Plus Micro-ATX
HDD
Samsung 840 EVO 500GB - WD Caviar Red 3TB & 2TB
RAM
G.Skill Ripjaws Z 16GB (2x8GB) 1866Mhz cl9
GPU
Asus GTX 970 Strix
Audio
Integrata - Esterna ancora da valutare..
Monitor
1x Dell U2414H AH-IPS 8ms
PSU
XFX TS 550W - APC Back-UPS Pro 900VA
Case
Thermaltake Core V21 Micro-ATX Cube
OS
Windows 8.1 Update 1 (super aggiornato) & Linux/Android (emulati)
non avendo nulla da fare te l'ho creato io, ecco il download --> http://s000.tinyupload.com/?file_id=04170711531594797827

Il funzionamento è semplice, estrai l'.exe in una nuova cartella, metti Lista dei Gruppi.txt nella stessa cartella, quando lanci l'exe inserisci il nome esatto del tuo file cioè Lista dei Gruppi.txt e il codice prende ogni riga in esso, ci appiccica .txt e ti crea il file in quella cartella.

codice:
C++:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;

int main()
{
    string inputFilePath;

    cout << "Insert list path: ";
    cin >> inputFilePath;

    ifstream inputFile{ inputFilePath };

    string newFileName;
    while (getline(inputFile, newFileName))
    {
        newFileName += ".txt";
        ofstream newFile { newFileName };
        newFile.close();    
    }
    inputFile.close();
    return 0;
}


Ciao, sei un grande. PS: Ti consiglio di metterlo su github se vuoi condividerlo e/o implementarlo (può sempre tornare utile per altri scopi). :)
 
Ultima modifica:

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!