Avatar billede margitbork Nybegynder
22. juni 2004 - 13:05 Der er 33 kommentarer og
1 løsning

ant, pvcs - hvordan får jeg mine filer writable

Når jeg trækker filer ud fra PVCS via ant er de skrivebeskyttede. hvordan fjerner jeg dette via ant
Avatar billede arne_v Ekspert
22. juni 2004 - 13:13 #1
Hvis du er på Unix så skulle chmod tasket virke.
Avatar billede arne_v Ekspert
22. juni 2004 - 13:15 #2
På windows må du nok bruge exec task med en attrib kommando.
Avatar billede margitbork Nybegynder
22. juni 2004 - 13:26 #3
jeg forsøger med følgende kommando, men det vil ikke virke:

    <target name="makeFilesInDirWriteable">
        <echo>makeFilesInDirWriteable: STARTING ...${attrib.dir}</echo>
        <exec dir="." executable="cmd.exe" os="Windows NT, Windows 2000">
            <arg value="/c"/>
            <arg value="attrib -R &quot;d:/projhome/*.*&quot; /S"/>
        </exec>
        <echo>makeFilesInDirWriteable: ended ...</echo>
    </target>
Avatar billede margitbork Nybegynder
22. juni 2004 - 13:27 #4
jeg sidder på en windows XP kan det have betydning ??
Avatar billede arne_v Ekspert
22. juni 2004 - 13:31 #5
Ja Windows XP er jo ikke i listen
  os="Windows NT, Windows 2000"
Avatar billede arne_v Ekspert
22. juni 2004 - 13:32 #6
Du kan checke hvad det skal være med
  System.getProperty("os.name")
Avatar billede margitbork Nybegynder
22. juni 2004 - 13:33 #7
hvor kan jeg skrive den kommando ??
kan man få den fra dospromten ??
Avatar billede margitbork Nybegynder
22. juni 2004 - 13:35 #8
den skriver Windows 2000, så det skulle vel være iorden..
Avatar billede arne_v Ekspert
22. juni 2004 - 13:36 #9
Nej du bliver lige nødt til at få den kørt af java.

F.eks. visosname.jsp:

<%=System.getProperty("os.name")%>
Avatar billede arne_v Ekspert
22. juni 2004 - 13:37 #10
Jep det er så OK.

Så ville jeg prøve med:

<arg value="attrib -R &quot;d:\projhome\*.*&quot; /S"/>

backslasher i.s.f. slasher
Avatar billede margitbork Nybegynder
22. juni 2004 - 13:38 #11
Jeg fik resultatet Windows 2000 via en
System.out.println(System.getProperty("os.name"));
Avatar billede arne_v Ekspert
22. juni 2004 - 13:43 #12
Det er også helt fint.

Men prøv den anden rettelse.
Avatar billede margitbork Nybegynder
22. juni 2004 - 13:47 #13
denne virker heller ikke:

    <target name="makeFilesInDirWriteable">
            <exec dir="." executable="cmd.exe" os="Windows 2000, Windows NT">
            <arg value="/c"/>
                <arg value="attrib -R &quot;D:\wrap\wrap\*.*&quot; /S"/>
            </exec>
    </target>
Jeg har kopieret denne fra en andens build.xml fil så jeg er ikke helt sikker på
hvad de forskellige dele betyder.
Hvad betyder <arg value="/c"/> ??
Avatar billede margitbork Nybegynder
22. juni 2004 - 13:54 #14
Skulle man kunne køre kommandoen fra en dos promte ??
Jeg forsøgte lige og fik følgende:

C:\>attrib -R "D:\wrap\wrap\*.*" /S
'attrib' is not recognized as an internal or external command,
operable program or batch file.
Avatar billede arne_v Ekspert
22. juni 2004 - 13:54 #15
Der skal udføres kommandoen:

cmd /c attrib -r ...
Avatar billede arne_v Ekspert
22. juni 2004 - 13:55 #16
Ja du bør kunne køre kommandoen fra ne DOS prompt.

Virker det ikke fra en DOS prompt så virker det næppe fra ant med exec.
Avatar billede arne_v Ekspert
22. juni 2004 - 13:56 #17
Prøv lige med:

C:\winnt\system32\attrib -r ...

(ret winnt hvis din windows er installeret i et andet dir)
Avatar billede margitbork Nybegynder
22. juni 2004 - 13:59 #18
C:\WINDOWS\system32>attrib -R "D:\wrap\wrap\*.*" /S

den virkede.
Så er det vel noget med min path der ikke peger ind i system32
Avatar billede margitbork Nybegynder
22. juni 2004 - 13:59 #19
Jeg er ikke en doshaj, så hvad betyder /c ??
Avatar billede arne_v Ekspert
22. juni 2004 - 14:07 #20
Ja.

Men prøv nu med:

<arg value="C:\windows\system32\attrib -R &quot;D:\wrap\wrap\*.*&quot; /S"/>
Avatar billede arne_v Ekspert
22. juni 2004 - 14:07 #21
C:\>cmd /?
Starts a new instance of the Windows 2000 command interpreter

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
    [[/S] [/C | /K] string]

/C      Carries out the command specified by string and then terminates
Avatar billede margitbork Nybegynder
22. juni 2004 - 14:08 #22
min path ser ud til at pege rigtigt nok ned i system32, så jeg er stadig i vilrede
Kan man specificere i ant scriptet at det er nede i windows\system32 den skal kalde attrib ?
Avatar billede arne_v Ekspert
22. juni 2004 - 14:12 #23
Ja - se min 14:07:32 kommentar
Avatar billede margitbork Nybegynder
22. juni 2004 - 14:22 #24
C:\>c:\windows\system32\attrib -R "D:\wrap\wrap\*.*" /S
virker fra dospromten, men ikke inde fra mit ant script...
<target name="makeFilesInDirWriteable">
  <exec dir="." executable="cmd.exe" os="Windows 2000, Windows NT">
    <arg value="/c"/>
    <arg value="c:\windows\system32\attrib -R &quot;D:\wrap\wrap\*.*&quot; /S"/>
  </exec>
</target>
Avatar billede margitbork Nybegynder
22. juni 2004 - 14:23 #25
Jeg fjernede lige den der os="Windows 2000, Windows NT" så virker det...
Avatar billede margitbork Nybegynder
22. juni 2004 - 14:24 #26
Tak for din gode hjælp, hvis du vil have points så smid lige et svar.
Avatar billede arne_v Ekspert
22. juni 2004 - 14:46 #27
ok
Avatar billede margitbork Nybegynder
22. juni 2004 - 14:48 #28
Jeg kunne også godt tænke mig at sætte filernes dato til current time.
Kan man gøre det på lignende vis ??
Avatar billede arne_v Ekspert
22. juni 2004 - 14:54 #29
Så skal du nok finde en touch utility og exec'e den.
Avatar billede margitbork Nybegynder
22. juni 2004 - 15:01 #30
hmmmm, det må blive hvis behovet opstår..
Avatar billede arne_v Ekspert
22. juni 2004 - 16:16 #31
Svaret er iøvrigt forkert. Eller ihvertfald ikke optimalt.

ant har nemlig et touch task til det samme !
Avatar billede margitbork Nybegynder
23. juni 2004 - 08:58 #32
Det vil jeg nok undersøge. Du må gerne skrive noget om det hvis du lige ved noget mere
Avatar billede arne_v Ekspert
23. juni 2004 - 09:03 #33
Jeg ved ikke mere end docs siger:

http://ant.apache.org/manual/CoreTasks/touch.html
Avatar billede margitbork Nybegynder
23. juni 2004 - 09:08 #34
Det virker fint:
        <touch>
            <fileset dir="${project.home}/wrap" includes="**/*.*" />
        </touch>
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