Avatar billede mhp_dk Nybegynder
04. oktober 2007 - 21:12 Der er 10 kommentarer og
1 løsning

Lave en mappe i alle under mapper og flyt *.pic filerne

Hej

Håber der lige var en som kunne lave et script som hjælper med følgende:

Jeg har mange mapper i et directorie
I alle mapper skal jeg have 1 ny mappe med navnet ET1
Her efter skal de *.pic filer der i mappen flyttes ind i ET1

Eks.:
Mappe
11
12
13

Skal blive til
Mappe
11/ET1
12/ET1
13/ET1

I mappe 11,12,13 skal *pic filer så flytes til undermappen ET1
Avatar billede chrisp Nybegynder
04. oktober 2007 - 23:56 #1
Hvad med et godt gammeldags batch job i stedet for et VB script ?

lav først en job.bat med følgende indhold
cd %1
mkdir ET1
move *.pic ET1
cd ..

kør derefter følgende kommando
for /d %i in (*) do call job.bat %i

og så skulle det gerne bare køre derud af..
for kommandoen tager for hvert mappe og kalder job.bat med mappens navn som paramter
job.bat 
gå ind i mappen  (cd %1)
opretter undermappen (mkdir ET1)
flytter billed filerne (move *.pic ET1)
og går så tilbage til hvor den kom fra  (cd ..)
Avatar billede mhp_dk Nybegynder
05. oktober 2007 - 07:39 #2
Joe måske, men hvordan afvikler jeg "for /d %i in (*) do call job.bat %i"
Avatar billede chrisp Nybegynder
05. oktober 2007 - 10:26 #3
start-menuen
run cmd.exe
så får du en prompt, gå til den mappe hvor dine folder 11,12,13 .. ligger
og skriv så for /d %i in (*) do call job.bat %i, og tryk enter..

hvis du vil have det som en noget du kan "klikke på" på skrivebordet, kan du lave en bat fil med følgende indhold
cd path til din mappe med 11,12,13 folderne
for /d %%i in (*) do call job.bat %%i

lig mærke til %% i stedet for % når du bruger kommandoen i en batch fil..
Avatar billede mhp_dk Nybegynder
05. oktober 2007 - 10:53 #4
Perfket, det var mig der ikke havde husket %%.

Det er dog kommet en ekstra lille krølle.

Vedr. de filer vi flytter så vil jeg gerne have tilføjet EPL foran i navnet på disse, men hvis der slutter med 800 eller større KLP.
Eks.:
Pic filer ser typisk sådan ud:
93237001.pic
93237002.pic
93237800.pic
De skulle så gerne komme til at se sådan her ud:
EPL93237001.PIC
EPL93237002.PIC
KLP93238800.PIC

Kan du lave den del også ? :o)
Avatar billede chrisp Nybegynder
05. oktober 2007 - 11:02 #5
hmmm
så skal du desvære havde fat i noget vbscript for det der med støre end er batch job ikke så gode til..
hvis det kun er 800 , 801,  802 (altså et begrænset antal tal fra 800 og op)
kan du for hvert af dem lave denne linje i job.bat
ren %1\*800.pic %1\EPL*800.pic

men det bliver hurtigt meget langt hvis du skal have mange tal
Avatar billede mhp_dk Nybegynder
05. oktober 2007 - 11:31 #6
Okay jeg dropper det med 800 og vil bare have EPL foran alle.

Men jeg har prøvet med ren %1\*.pic %1\EPL*.pic men det kan jeg ikke få til at virke.
Avatar billede chrisp Nybegynder
05. oktober 2007 - 11:53 #7
Du har ganske ret...
det virker ikke og det jeg oprindeligt havde tænkte mig virker heller ikke..
så har fundet det her frem til dig.
ændre job.bat til følgende
cd %1
for %%i in (*.pic) do ren %%i EPL%%i
mkdir ET1
move *.pic ET1
cd ..
Avatar billede mhp_dk Nybegynder
05. oktober 2007 - 12:00 #8
Næsten, den første fil kommer til at hedde EPLEPL, men de andre er ok.
Avatar billede chrisp Nybegynder
05. oktober 2007 - 12:28 #9
grr.. ja...
vi laver om en sidste gang i job.bat
cd %1
mkdir ET1
for %%i in (*.pic) do move %%i ET1\EPL%%i
cd ..

og så tror jeg den er hjemme
Avatar billede mhp_dk Nybegynder
05. oktober 2007 - 13:24 #10
Ja så er den der, tak for din hjælp.
NB.: 800 laver jeg med den rename bagefter det ser ud til at kunne lade sig gøre.
Avatar billede mhp_dk Nybegynder
08. oktober 2007 - 10:56 #11
Æv problmet fortsætter...

Jeg havde nok ikke hørt godt nok efter :o)

Pic filer ser typisk sådan ud:
93237001.pic
93237002.pic
93237800.pic
Skal ende med at se sådan her ud:
EPL0001.PIC
EPL0002.PIC
KLP0800.PIC

Kan du hjælpe igen ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester