'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
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.
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 :)
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
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.
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'..
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