/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
en stump C++ til at lave 12.jpg til 12_små~
Fra : Iskold


Dato : 24-06-03 23:58

Hej allle

Er der nogle der ligge inde med en stump C++ der kan tage en masse filer i
en mappe om til fx. 12.jpg og lave den om til 12_småt.jpg
altså når der er et punktum så indsætter den (_småt) der

Så ville jeg blive meget lykkelig

henrik



 
 
Bertel Brander (25-06-2003)
Kommentar
Fra : Bertel Brander


Dato : 25-06-03 00:32

Iskold wrote:
> Hej allle
>
> Er der nogle der ligge inde med en stump C++ der kan tage en masse filer i
> en mappe om til fx. 12.jpg og lave den om til 12_småt.jpg
> altså når der er et punktum så indsætter den (_småt) der
>
Jeg har lavet følgende:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/dirent.h>
#include <sys/unistd.h>

#define aa "\xE5"

void scan(const char *dir)
{
char command[1021], temp[256];

DIR *d = opendir(dir);
if(d)
{
struct dirent *dirent;
while((dirent = readdir(d)) != NULL)
{
if(strlen(dirent->d_name) >= strlen(".jpg") &&
!stricmp(&dirent->d_name[strlen(dirent->d_name) - 4], ".jpg"))
{
strcpy(temp, dirent->d_name);
temp[strlen(temp) - 4] = 0;
sprintf(command, "mv %s %s_sm" aa "t.jpg\n", dirent->d_name, temp);
system(command);
}
}
closedir(d);
}
}

int main()
{
char dir[256];

getcwd(dir, sizeof(dir));
scan(dir);

return EXIT_SUCCESS;
}

Det kan kompileres med gcc (f.ex. www.cygwin.com).
Det omdøber alle .jpg filer i den mappe det er startet i.
Jeg vil anbefale dig at teste det lidt med nogle test-filer
inden du lader det "lege" med rigtige filer.

/b

--
Bertel Brander, author of Wain, a free text editor for programmers:
http://home20.inet.tele.dk/midgaard/program.htm


Kim Bendtsen (25-06-2003)
Kommentar
Fra : Kim Bendtsen


Dato : 25-06-03 08:14

Den Wed, 25 Jun 2003 00:57:42 +0200, skrev Iskold:

> Hej allle
>
> Er der nogle der ligge inde med en stump C++ der kan tage en masse filer
> i en mappe om til fx. 12.jpg og lave den om til 12_småt.jpg altså når
> der er et punktum så indsætter den (_småt) der
>
> Så ville jeg blive meget lykkelig
>
> henrik
Hvis du er på et system med rename kommandoen burde følgende kunne gøre
det..
Mvh
Kim
(man rename)
#include <stdlib.h>
int main(){

system("rename .jpg _småt.jpg *.jpg");
}

Bertel Lund Hansen (25-06-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 25-06-03 08:31

Kim Bendtsen skrev:

>Hvis du er på et system med rename kommandoen burde følgende kunne gøre
>det..

Til dels. De nye filnavne er ikke præcis som det blev ønsket ...
og det er at gå over åen efter vand at pakke en ren
systemkommando ind i et C++-program der ikke laver andet.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Kim Bendtsen (25-06-2003)
Kommentar
Fra : Kim Bendtsen


Dato : 25-06-03 08:48

> Til dels. De nye filnavne er ikke præcis som det blev ønsket ... og
> det er at gå over åen efter vand at pakke en ren systemkommando ind i
> et C++-program der ikke laver andet.
Tjo, men hvis han ville have et c++ program kode stump som kunne
inkorporeres i hans eget program så er det ikke over åen efter vand.

Måske læste jeg det for hurtigt, men skulle han ikke blot have renamet
alle filer i en mappe fra foo.jpg til foo_småt.jpg?

Mvh
Kim

Bertel Lund Hansen (25-06-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 25-06-03 13:18

Kim Bendtsen skrev:

>Måske læste jeg det for hurtigt, men skulle han ikke blot have renamet
>alle filer i en mappe fra foo.jpg til foo_småt.jpg?

Jo - uden et ekstra punktum. Det kan ikke klares i Windows med en
kommando.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Bertel Brander (25-06-2003)
Kommentar
Fra : Bertel Brander


Dato : 25-06-03 14:32

Bertel Lund Hansen wrote:

> Kim Bendtsen skrev:
>
>
>>Måske læste jeg det for hurtigt, men skulle han ikke blot have renamet
>>alle filer i en mappe fra foo.jpg til foo_småt.jpg?
>
>
> Jo - uden et ekstra punktum. Det kan ikke klares i Windows med en
> kommando.
>

På Windows NT/2000/XP kan man bruge følgende:

for /F %i in ('dir /B *.jpg') do @ren %i %~ni_småt.jpg

/b


Iskold (25-06-2003)
Kommentar
Fra : Iskold


Dato : 25-06-03 09:12

Takker for den lille stump kode, men jeg er ikke den store haj til det der
UNIX look, i det program du anbefalede....hvad vej skal jeg skrive og
hvordan hvis jeg har mine billeder i mappen
c:\inetpub\wwwroot\clausbillede\script

henrik



"Iskold" <hep@image.dk> wrote in message
news:GH4Ka.28986$Jp3.1364960@news010.worldonline.dk...
> Hej allle
>
> Er der nogle der ligge inde med en stump C++ der kan tage en masse filer i
> en mappe om til fx. 12.jpg og lave den om til 12_småt.jpg
> altså når der er et punktum så indsætter den (_småt) der
>
> Så ville jeg blive meget lykkelig
>
> henrik
>
>



Iskold (25-06-2003)
Kommentar
Fra : Iskold


Dato : 25-06-03 10:05

Så har jeg lurede det... måtte lige finde en bog " UNIX for Programmers and
Users", men hvordan compilere jeg den, hvad skal jeg skrive........min c++
fil hedder script.cpp

henrik


"Iskold" <hep@image.dk> wrote in message
news:MPcKa.29209$Jp3.1375093@news010.worldonline.dk...
> Takker for den lille stump kode, men jeg er ikke den store haj til det der
> UNIX look, i det program du anbefalede....hvad vej skal jeg skrive og
> hvordan hvis jeg har mine billeder i mappen
> c:\inetpub\wwwroot\clausbillede\script
>
> henrik
>
>
>
> "Iskold" <hep@image.dk> wrote in message
> news:GH4Ka.28986$Jp3.1364960@news010.worldonline.dk...
> > Hej allle
> >
> > Er der nogle der ligge inde med en stump C++ der kan tage en masse filer
i
> > en mappe om til fx. 12.jpg og lave den om til 12_småt.jpg
> > altså når der er et punktum så indsætter den (_småt) der
> >
> > Så ville jeg blive meget lykkelig
> >
> > henrik
> >
> >
>
>



Robert Larsen (25-06-2003)
Kommentar
Fra : Robert Larsen


Dato : 25-06-03 12:09

Iskold wrote:
> Så har jeg lurede det... måtte lige finde en bog " UNIX for Programmers and
> Users", men hvordan compilere jeg den, hvad skal jeg skrive........min c++
> fil hedder script.cpp
>
> henrik
>
>
g++ -o script script.cpp


Iskold (25-06-2003)
Kommentar
Fra : Iskold


Dato : 25-06-03 12:37

g++ -o script script.cpp

Det virker ikke
henrik



Bertel Brander (25-06-2003)
Kommentar
Fra : Bertel Brander


Dato : 25-06-03 14:24

Iskold wrote:
> g++ -o script script.cpp
>
> Det virker ikke

Hvad hedder din kompiler?
Du kunne prøve med gcc script.cpp -o script
Bruger du unix?
Hvad mener du med at det ikke virker, hvad sker der når du
kører kommandoen?

/b


Iskold (25-06-2003)
Kommentar
Fra : Iskold


Dato : 25-06-03 14:43

Jeg bruger cygwin og står i det bliblotek med mine jpg filer....
Jeg har oxo instaleret Microsoft Visual C++ fra bogen Computing using C++
and object tecnology, men den siger jeg mangler
<sys/dirent.h>
<sys/unistd.h>
Og hvis jeg trager dem fra cygwin ´s lig bliblotek og lægger dem over i
Virsual C++ bliblotek, så kommer der flere fejl.....så der for, vil jeg
gerne compliere dem fra cygwen konsol, jeg bruger win 2000 pro

henrik




"Bertel Brander" <bertel@post4.tele.dk> wrote in message
news:3ef9a1ff$0$5141$edfadb0f@dread11.news.tele.dk...
> Iskold wrote:
> > g++ -o script script.cpp
> >
> > Det virker ikke
>
> Hvad hedder din kompiler?
> Du kunne prøve med gcc script.cpp -o script
> Bruger du unix?
> Hvad mener du med at det ikke virker, hvad sker der når du
> kører kommandoen?
>
> /b
>



Bertel Brander (25-06-2003)
Kommentar
Fra : Bertel Brander


Dato : 25-06-03 14:56

Iskold wrote:

> Jeg bruger cygwin og står i det bliblotek med mine jpg filer....
> Jeg har oxo instaleret Microsoft Visual C++ fra bogen Computing using C++
> and object tecnology, men den siger jeg mangler
> <sys/dirent.h>
> <sys/unistd.h>
> Og hvis jeg trager dem fra cygwin ´s lig bliblotek og lægger dem over i
> Virsual C++ bliblotek, så kommer der flere fejl.....så der for, vil jeg
> gerne compliere dem fra cygwen konsol, jeg bruger win 2000 pro
>
Du skal lige lave en lille rettelse til programmet for at få det til at
virke som C++ program, starten skal se ud som følger:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
extern "C" {
#include <sys/dirent.h>
#include <sys/unistd.h>
}
#define aa "\xE5"

Så burde du kunne kompilere med:
gcc script.cpp -o script.exe

Programmet kan ikke kompilere med MS Visual C++.

/b


Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408186
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste