/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
omdøbning af filstruktur
Fra : Effix


Dato : 29-07-10 09:28

Jeg har et problem med en mappestruktur
Strukturen ser således ud:
C:\files\abcd\efg\hijklm
men den skal laves om til:
C:\files\bcd\fga\ijklme

'a' skal være det første tegn i undermappen 'efg' --> 'afg'
'e' skal være det sidste tegn i undermappen 'hijklm' --> 'hijklme'
'h' og h skal bare slettes.
Jeg har forsøgt at finde omdøbningsprogrammer men kan ingen finde der
kan klare det.
Så den sidste udvej er vel at skrive et lille program der kan klare
det. Jeg har stort set ingen erfaring med programmering så håber der
er nogen der kan pege mig i den rigtige retning.
Måske er visual basic heller ikke det bedste valg men jeg ved ikke
helt hvor jeg skal starte.
Håber der er nogen der kan hjælpe mig
Mvh
Morten

 
 
Hans Kjaergaard (29-07-2010)
Kommentar
Fra : Hans Kjaergaard


Dato : 29-07-10 17:22

On Thu, 29 Jul 2010 08:27:51 -0700 (PDT), Effix
<morteneistrom@gmail.com> wrote:

>Jeg har et problem med en mappestruktur
>Strukturen ser således ud:
>C:\files\abcd\efg\hijklm
>men den skal laves om til:
>C:\files\bcd\fga\ijklme
>
>'a' skal være det første tegn i undermappen 'efg' --> 'afg'
>'e' skal være det sidste tegn i undermappen 'hijklm' --> 'hijklme'
>'h' og h skal bare slettes.
>Jeg har forsøgt at finde omdøbningsprogrammer men kan ingen finde der
>kan klare det.
>Så den sidste udvej er vel at skrive et lille program der kan klare
>det. Jeg har stort set ingen erfaring med programmering så håber der
>er nogen der kan pege mig i den rigtige retning.
>Måske er visual basic heller ikke det bedste valg men jeg ved ikke
>helt hvor jeg skal starte.
>Håber der er nogen der kan hjælpe mig

Har du prøvet med total commander ?


/Hans

Effix (29-07-2010)
Kommentar
Fra : Effix


Dato : 29-07-10 10:51

On 29 Jul., 18:21, Hans Kjaergaard <hans.k2tek...@post5.tele.dk>
wrote:
> On Thu, 29 Jul 2010 08:27:51 -0700 (PDT), Effix
>
>
>
>
>
> <morteneist...@gmail.com> wrote:
> >Jeg har et problem med en mappestruktur
> >Strukturen ser således ud:
> >C:\files\abcd\efg\hijklm
> >men den skal laves om til:
> >C:\files\bcd\fga\ijklme
>
> >'a' skal være det første tegn i undermappen 'efg' --> 'afg'
> >'e' skal være det sidste tegn i undermappen 'hijklm' --> 'hijklme'
> >'h' og h skal bare slettes.
> >Jeg har forsøgt at finde omdøbningsprogrammer men kan ingen finde der
> >kan klare det.
> >Så den sidste udvej er vel at skrive et lille program der kan klare
> >det. Jeg har stort set ingen erfaring med programmering så håber der
> >er nogen der kan pege mig i den rigtige retning.
> >Måske er visual basic heller ikke det bedste valg men jeg ved ikke
> >helt hvor jeg skal starte.
> >Håber der er nogen der kan hjælpe mig
>
> Har du prøvet med total commander ?
>
> /Hans

Ja jeg kan ikke se hvordan jeg skal kunne få den til at omdøbe sådan
som jeg har beskrevet det. Kan kun få den til at "enkelte" mapper og
ikke undermapperne. jeg har rigtige mange mapper der følger den
beskrevede struktur og de skal alle omdøbes efter samme skabelon. Jeg
kan kun få total commander og andre lignende programmer til at slette
det 'a' i første mappe. Jeg kan ikke få programmerne til at huske på
'a' og indstætte 'a' som første karakter i undermappen 'efg' og så
fremdeles.

Hans Kjaergaard (29-07-2010)
Kommentar
Fra : Hans Kjaergaard


Dato : 29-07-10 19:10

On Thu, 29 Jul 2010 09:50:56 -0700 (PDT), Effix
<morteneistrom@gmail.com> wrote:

Hvor mange nivuer ned har du ?
Hvor mange filer er der tale om ?

Jeg har før pipet komandoen "dir /s/b" over i en tekst fil og så brugt
søg/erstat, og derved skabt en cmd fil til ar rename med, lidt slave
agtitg men det virker, også med 100.000+ filer/mapper.

Men lav et kopi af mappe/fil-struktur til at forsøge med, træls hvil
det kikser.


/Hans

Krabsen (29-07-2010)
Kommentar
Fra : Krabsen


Dato : 29-07-10 17:55

Den 29-07-2010 17:27, Effix skrev:
> Jeg har et problem med en mappestruktur
> Strukturen ser således ud:
> C:\files\abcd\efg\hijklm
> men den skal laves om til:
> C:\files\bcd\fga\ijklme
>
> 'a' skal være det første tegn i undermappen 'efg' --> 'afg'
> 'e' skal være det sidste tegn i undermappen 'hijklm' --> 'hijklme'
> 'h' og h skal bare slettes.
> Jeg har forsøgt at finde omdøbningsprogrammer men kan ingen finde der
> kan klare det.
> Så den sidste udvej er vel at skrive et lille program der kan klare
> det. Jeg har stort set ingen erfaring med programmering så håber der
> er nogen der kan pege mig i den rigtige retning.
> Måske er visual basic heller ikke det bedste valg men jeg ved ikke
> helt hvor jeg skal starte.
> Håber der er nogen der kan hjælpe mig
> Mvh
> Morten

Hvis vi ser bort fra, at din beskrivelse ikke stemmer overens med dit
eksempel
"
> men den skal laves om til:
> C:\files\bcd\fga\ijklme
"
burde vel være

"
> C:\files\bcd\afg\ijklme
"

så er det en ret let opgave at løse i f.eks. VB. Hvis der er forskelle i
filstrukturen (forskelligt antal niveauer, forskelligt antal bogstaver i
mappenavne)gør det naturligvis sagen lidt mere udfordrende.




Effix (29-07-2010)
Kommentar
Fra : Effix


Dato : 29-07-10 11:06

On 29 Jul., 18:55, Krabsen <use...@krabsen.dk> wrote:
> Den 29-07-2010 17:27, Effix skrev:
>
>
>
>
>
> > Jeg har et problem med en mappestruktur
> > Strukturen ser således ud:
> > C:\files\abcd\efg\hijklm
> > men den skal laves om til:
> > C:\files\bcd\fga\ijklme
>
> > 'a' skal være det første tegn i undermappen 'efg' -->  'afg'
> > 'e' skal være det sidste tegn i undermappen 'hijklm' -->  'hijklme'
> > 'h' og h skal bare slettes.
> > Jeg har forsøgt at finde omdøbningsprogrammer men kan ingen finde der
> > kan klare det.
> > Så den sidste udvej er vel at skrive et lille program der kan klare
> > det. Jeg har stort set ingen erfaring med programmering så håber der
> > er nogen der kan pege mig i den rigtige retning.
> > Måske er visual basic heller ikke det bedste valg men jeg ved ikke
> > helt hvor jeg skal starte.
> > Håber der er nogen der kan hjælpe mig
> > Mvh
> > Morten
>
> Hvis vi ser bort fra, at din beskrivelse ikke stemmer overens med dit
> eksempel
> "
>  > men den skal laves om til:
>  > C:\files\bcd\fga\ijklme
> "
> burde vel være
>
> "
>  > C:\files\bcd\afg\ijklme
> "
>
> så er det en ret let opgave at løse i f.eks. VB. Hvis der er forskelle i
> filstrukturen (forskelligt antal niveauer, forskelligt antal bogstaver i
> mappenavne)gør det naturligvis sagen lidt mere udfordrende.

Hov ja det har du ret i :) det var en tastefejl. Der er altid samme
antal niveauer og antal karakterer i mapperne. En ret let opgave i VB
siger du :) hehe ja okay måske hvis man ved hvad man laver :D hehe det
gør jeg ikke ligefrem når det kommer til VB.. kan du pege i retning af
nogle eksempler eller tutorials jeg kan give mig i kast med.
Og tak for svaret og rettelsen :)

Krabsen (29-07-2010)
Kommentar
Fra : Krabsen


Dato : 29-07-10 21:55

Den 29-07-2010 19:05, Effix skrev:
> On 29 Jul., 18:55, Krabsen<use...@krabsen.dk> wrote:
>> Den 29-07-2010 17:27, Effix skrev:
>>
>>
>>
>>
>>
>>> Jeg har et problem med en mappestruktur
>>> Strukturen ser således ud:
>>> C:\files\abcd\efg\hijklm
>>> men den skal laves om til:
>>> C:\files\bcd\fga\ijklme
>>
>>> 'a' skal være det første tegn i undermappen 'efg' --> 'afg'
>>> 'e' skal være det sidste tegn i undermappen 'hijklm' --> 'hijklme'
>>> 'h' og h skal bare slettes.
>>> Jeg har forsøgt at finde omdøbningsprogrammer men kan ingen finde der
>>> kan klare det.
>>> Så den sidste udvej er vel at skrive et lille program der kan klare
>>> det. Jeg har stort set ingen erfaring med programmering så håber der
>>> er nogen der kan pege mig i den rigtige retning.
>>> Måske er visual basic heller ikke det bedste valg men jeg ved ikke
>>> helt hvor jeg skal starte.
>>> Håber der er nogen der kan hjælpe mig
>>> Mvh
>>> Morten
>>
>> Hvis vi ser bort fra, at din beskrivelse ikke stemmer overens med dit
>> eksempel
>> "
>> > men den skal laves om til:
>> > C:\files\bcd\fga\ijklme
>> "
>> burde vel være
>>
>> "
>> > C:\files\bcd\afg\ijklme
>> "
>>
>> så er det en ret let opgave at løse i f.eks. VB. Hvis der er forskelle i
>> filstrukturen (forskelligt antal niveauer, forskelligt antal bogstaver i
>> mappenavne)gør det naturligvis sagen lidt mere udfordrende.
>
> Hov ja det har du ret i :) det var en tastefejl. Der er altid samme
> antal niveauer og antal karakterer i mapperne. En ret let opgave i VB
> siger du :) hehe ja okay måske hvis man ved hvad man laver :D hehe det
> gør jeg ikke ligefrem når det kommer til VB.. kan du pege i retning af
> nogle eksempler eller tutorials jeg kan give mig i kast med.

Har du VB 6 installeret (du skriver jo at du ingen
programmeringserfaring har)?

Jeg ville nok:

1. Via et loop gemme alle gamle mappenavne i et array

2. Via et nyt loop gennemløbe arrayet og rename mapperne enkeltvis.
søg på
"visual basic 6" "rename directory"
- der er mange eksempler.



Der er dog een betingelse, som skal være opfyldt, ellers går det helt i ged:

Der må ikke være noget tilfælde, hvor et omdøbt mappenavn svarer til et
'gammelt navn' længere nede i rækken!

Men da du fjerner tegn fra mappenavne er det vel et teoretisk problem.
Det nævnes blot 'for the record'..















Ukendt (29-07-2010)
Kommentar
Fra : Ukendt


Dato : 29-07-10 18:50

'a' skal være det første tegn i undermappen 'efg' --> 'afg'
'e' skal være det sidste tegn i undermappen 'hijklm' --> 'hijklme'
'h' og h skal bare slettes.
Jeg har forsøgt at finde omdøbningsprogrammer men kan ingen finde der

Jeg plejer at bruge en Vb6 til den slags.

filecopy
kill
mkdir

kunne være nøgle ordene når du søger på google - evt kombineret med vb6

/karsten



Effix (29-07-2010)
Kommentar
Fra : Effix


Dato : 29-07-10 12:36

On 29 Jul., 20:10, Hans Kjaergaard <hans.k2tek...@post5.tele.dk>
wrote:
> On Thu, 29 Jul 2010 09:50:56 -0700 (PDT), Effix
>
> <morteneist...@gmail.com> wrote:
>
> Hvor mange nivuer ned har du ?
> Hvor mange filer er der tale om ?
>
> Jeg har før pipet komandoen "dir /s/b" over i en tekst fil og så brugt
> søg/erstat, og derved skabt en cmd fil til ar rename med, lidt slave
> agtitg men det virker, også med 100.000+ filer/mapper.
>
> Men lav et kopi af mappe/fil-struktur til at forsøge med, træls hvil
> det kikser.
>
> /Hans

Hej Hans, tak for dit svar. Det var også min første indskydelse at
gøre netop det du forslået. jeg kan desværre bare ikke lave søg og
erstat da 'a', 'e' og 'h' er forskellige karakterer for hvert
mappenavn. det er måske heller ikke så tydeligt beskrevet i mit
eksempel.. sorry min fejl :).
Der er de tre niveauer som jeg bruger eksemplet. Der skal ikke omdøbes
nogle af filerne i mapperne det er kun mappenavnene der skal ændres.
Der er 200+ mapper
Jeg giver lige et eksempel på hvordan to af de mappestrukturer jeg har
ser ud nu og hvordan de skal se ud efter de er omdøbt som jeg ønsker.
Reference stien (eller hvad vi nu skal kalde den) C:\files\abcd\efg
\hijklm
Eksempler på de faktiske stier og hvordan de skal se ud bagefter
1. mappe
c:\files\0094\638\5331220
'a'=0 , 'e'=6, 'h'=5
c:\files\094\038\3312206
2.mappe
c:\files\5709\576\983520
'a'=5 , 'e'=5, 'h'=9
c:\files\705\576\835205

og tak for nøgleordene til karsten jeg vil forsøge at se om der er
noget at hente med dem.







N/A (29-07-2010)
Kommentar
Fra : N/A


Dato : 29-07-10 21:55



Benny Andersen (30-07-2010)
Kommentar
Fra : Benny Andersen


Dato : 30-07-10 03:32

En lidt simplere omdøbning - til illustration - det er skrevet i vba -
burde også virke i vb. Eksemplet omdøber mapper direkte under c:\test
\, idet m'er i mappenavnet erstattes af n'er

Bemærk at mappenavne først smides på et array (som Krabsen også
anbefaler)- det er nemlig ikke sikkert (men utestet!) at dir() kan
gennemløbe noget der omdøbes samtidigt.

Iøvrigt sjovt at omdøbning er en sprogkonstruktion.

Sub testrename()
Dim root, folderN, fAr
root = "C:\test\"
folderN = Dir(root & "*", vbDirectory)
Do While Len(folderN)
If folderN <> "." And folderN <> ".." Then add2list fAr,
folderN
folderN = Dir(, vbDirectory): Loop
For Each folderN In fAr
Name root & folderN As root & Replace(folderN, "m", "n")

Next
End Sub



Sub add2list(V, i)
On Error GoTo err
ReDim Preserve V(UBound(V) + 1)
V(UBound(V)) = i
Exit Sub
err:
ReDim V(0)
Resume Next
End Sub



Søg
Reklame
Statistik
Spørgsmål : 177414
Tips : 31962
Nyheder : 719565
Indlæg : 6407829
Brugere : 218875

Månedens bedste
Årets bedste
Sidste års bedste