Avatar billede koden Novice
26. januar 2005 - 09:04 Der er 15 kommentarer og
1 løsning

Hjælp til udvidelse af bat fil

Jeg har på mit arb. nedenstående batfil.
Den ligger på X:\mappe\idfiler\
Den kopierer en brugers notes id fil fra samme mappe til 2 dest. hos brugeren.

Jeg ville gerne udvide denne bat fil til, at når den køres, så kopierer den kun denne brugers id fil og ikke alle i mappen.
Brugerens id fil hedder bl.a. brugerens medarb.nr.
f.eks. xx.12345
I id filen står brugerens username til systemerne.

Men det kræver vel at bat filen går ned på C drevet at brugerns pc og ser hvad username er her:
C:\Documents and Settings\USERNAME
og så sammenligner med indhold af idfil.
Eller er der en smartere måde at gøre det på??

@echo off
echo Kopierer ID-filer fra H-drev til C-drev
copy X:\mappe\idfiler\*.id "C:\Documents and Settings\%USERNAME%\Local Settings\Application Data\Lotus\notes\Data\*.id"
copy X:\mappe\idfiler\*.id "h:\ntteknik\*.id"
echo ID-filer kopieret
PAUSE
Avatar billede ejvindh Ekspert
26. januar 2005 - 09:39 #1
Jeg antager at scriptet kører i Windows XP

Brugernavnet ligger i systemvariablen %username% - i hvert fald hvis det er det samme brugernavn som brugeren bruger til at logge på Windows.

Men jeg er ikke helt sikker på at jeg forstår spørgsmålet. Jeg går ud fra at det er denne del af scriptet du vil have mere specifik (står i 2 linier):

X:\mappe\idfiler\*.id

så den kun kopierer én brugers id-fil. Umiddelbart ville jeg derfor gætte på at man bare kunne skrive:
X:\mappe\idfiler\%username%.id

Men du siger samtidig at brugerens id-fil hedder noget med "xx.12345". Men så bliver den jo aldrig kopieret med en "*.id" angivelse.

Skal medarbejder-_nummeret_ bruges? Hvad står "xx" for?
Avatar billede koden Novice
26. januar 2005 - 10:12 #2
Okay var nok lidt utydeligt.
filen hedder xx12345.id xx står ikke for noget.

det er inde i selve filen af brugerens username står (når den åbnes).
det samme username er det der ligger her: C:\Documents and Settings\USERNAME

Selve medarb. nr. på id filen, var nok det nemmeste at referere til.
Men det findes ikke på brugerens c drev.
Så derfor var min ide, at referere til username inde i idfil, hvis det er muligt.

jeg ved det kan være svært at forstå. Jeg uddyber gerne :-)
Avatar billede majsmarken Nybegynder
26. januar 2005 - 10:26 #3
Dvs. at den info som der skal bruges undervejs (kun) findes INDE i en fil ?

Så skal der nok noget VBS script til - vil jeg anbefale ?
(Som JEG dog ikke kender nok til at gi' input til...)
Avatar billede ejvindh Ekspert
26. januar 2005 - 10:37 #4
OK, jeg prøver igen :-)

Jeg går ud fra at username og medarbejdernr. er det samme (eftersom det er det samme som du finder her: C:\Documents and Settings\USERNAME).

Og at "12345" så er et stand-in for dette navn. Hvis det er rigtigt, så er dette en løsning:

@echo off
echo Kopierer ID-filer fra H-drev til C-drev
copy X:\mappe\idfiler\xx%username%.id "C:\Documents and Settings\%USERNAME%\Local Settings\Application Data\Lotus\notes\Data\*.id"
copy X:\mappe\idfiler\xx%username%.id "h:\ntteknik\*.id"
echo ID-filer kopieret
PAUSE

Hvis Majsmarken har ret, er du nødt til at specificere lidt mere om, hvordan navnet står inde i filen (hvilken linie-nr; er der et bestemt mønster man kan søge på; osv.).

Er dét du søger måske muligheden for kun at kopiere en DEL af xx12345.id-filen over?
Avatar billede koden Novice
26. januar 2005 - 11:31 #5
medarb. nr. og username er ikke det samme desværre....
Medarb. nr. er bare et nr. på filen, som godt nok er brugers medarb. nr. men som ikke viser hvem der bruger pc'en.

Username står inde i denne notepad id fil sammen med en masse volapyk.
Det står i 2 linjer, som begge er meget lange.
username står så i linje 2 langt henne.
Avatar billede ejvindh Ekspert
26. januar 2005 - 11:52 #6
Hvis der ikke på nogen måde er nogle kendetegn, der kan bruges til at identificere en del af en linie som et brugernavn, så kan man ikke lave et program der kan uddrage det. Heller ikke i andre programmerings-sprog :-)

Så skulle det i hvert fald foregå på baggrund af en liste over brugte brugernavne. Men så bliver det nu nok nemmere at finde et andet script-sprog end batch.
Avatar billede koden Novice
26. januar 2005 - 12:15 #7
Okay....fint nok.

kan man så gøre følgende:

Når bruger klikker på batfilen og får id-filen kopieret ned på sit C og H drev.
Så skal batfilen slette alle *.id i mappen, men lade bat filen blive liggende??
Det kan faktisk løse problemet, hvis det er muligt???
Avatar billede leif Seniormester
26. januar 2005 - 12:18 #8
Må man spørge hvad ver. af Notes I bruger ? I ver. 6 er der kommet en ny feature, som hedder Roaming Profiles ! Det vil sikkert løse jeres problem !
Avatar billede leif Seniormester
26. januar 2005 - 12:23 #9
Har ikke selv implimenteret det endnu ! Så ved ikke om den også kopirer ID med over.
Avatar billede ejvindh Ekspert
26. januar 2005 - 13:03 #10
Koden: Ja, det kan man nemt: Der skal blot tilføjes et
del x:\mappe\idfiler\*.id

Således:
----------------------------
@echo off
echo Kopierer ID-filer fra H-drev til C-drev
copy X:\mappe\idfiler\*.id "C:\Documents and Settings\%USERNAME%\Local Settings\Application Data\Lotus\notes\Data\*.id"
copy X:\mappe\idfiler\*.id "h:\ntteknik\*.id"
del X:\mappe\idfiler\*.id
echo ID-filer kopieret
PAUSE
Avatar billede koden Novice
26. januar 2005 - 13:42 #11
ver. 6. det vi laver er at tildele en ny idfil, når bruger har glemt password.
Password resettes ¨å denne vej.
Det kan sikkert gøres meget smartere, men i en stor org. er det svært at trænge igennem med nyt :-))
Dette skal bare gøre min hverdag lettere.
Takker for den gode hjælp...
Avatar billede ejvindh Ekspert
26. januar 2005 - 13:46 #12
Takker for point :-)
Avatar billede leif Seniormester
26. januar 2005 - 14:18 #13
Så vil jeg da overveje en ny ting !!! Kender du ID Password Recorvery ?
Avatar billede leif Seniormester
26. januar 2005 - 14:21 #14
Så ringer de ind til dig og du giver dem en kode, så siger deres Notes til dem, indtast ny kode !
Avatar billede koden Novice
27. januar 2005 - 12:55 #15
Det kunne jeg foreslå. Men de kender den sikkert godt og har valgt en anden løsning.
Hvorfor vides ikke...
Avatar billede leif Seniormester
27. januar 2005 - 12:58 #16
Der kan vælges flere løsninger til det, men vi har en regel og det er sat op til at 2 forskellige personer skal give dem en kode, sådan så man ikke som ene mand kan fuske sig adgang til en persons krypteret emails.
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