[Gelöst] Datein Kopieren mit shell("cp...") und Variablen
Verfasst: Mo 4. Nov 2013, 14:34
Guten Tag,
ich hab hier mal wieder ein für mich schier unlösbares Problem^^ und wolte mal fragen ob Ihr mir vielleicht nen netten Tip geben könntet.
Ich möchte eine Datei, dessen Pfad in der Datenbank gespeichert ist, an einen vorgegebenen Ort kopieren,dazu nehme ich einen Wert aus meiner Datenbank und verändere ihn ("file:///data/test_old/testx1.pdf" zu "/data/test_old/testx1.pdf"), danach setze ich ein "cp " vor und ein " /data/test/" nach dem Pfad in ein String. nach dem "cp" und vor dem Pfad hab ich ein Leerzeichen innerhalb der Anführungszeichen.
Der code sieht so aus:
Nun will er einfach nicht kopieren. Benutze ich den shell()-befehl falsch? Den String den ich mir im Makro zusammenbauen will hab ich in der letzten auskommentierten Zeile als ganze normalen text in die shell()-funktion gegeben und das funktioniert. Per "print copy0()" bekomme ich das gleiche angezeigt wie ich in die handgeschriebene Zeile geschrieben hab. Das ding mit der oShell() in dem Makro hab ich ausprobiert, weil die oShell schon in dem Makro das ich als ausgangsbasis für meins benutzt habe, drinne war, funktioniert aber auch nicht.
Hab ebenfals versucht "/usr/bin/cp" statt "cp" oder nur die curl() variable zu nutzen:
auch Hier kein Erfolg, ich verzweifle...
danke fürs lesen, calli
ich hab hier mal wieder ein für mich schier unlösbares Problem^^ und wolte mal fragen ob Ihr mir vielleicht nen netten Tip geben könntet.
Ich möchte eine Datei, dessen Pfad in der Datenbank gespeichert ist, an einen vorgegebenen Ort kopieren,dazu nehme ich einen Wert aus meiner Datenbank und verändere ihn ("file:///data/test_old/testx1.pdf" zu "/data/test_old/testx1.pdf"), danach setze ich ein "cp " vor und ein " /data/test/" nach dem Pfad in ein String. nach dem "cp" und vor dem Pfad hab ich ein Leerzeichen innerhalb der Anführungszeichen.
Der code sieht so aus:
Code: Alles auswählen
sub copy_file
oform = thisComponent.drawpage.forms.MainForm.getbyname("SubForm")
surl = oform.getstring(3)
oShell = createUnoService("com.sun.star.system.SystemShellExecute")
dim curl as string
dim copy0 as string
dim copy1 as string
dim copy2 as string
dim copy3 as string
curl = Mid(surl(),8)
copy1 = "cp "
copy2 = curl()
copy3 = " /data/test/"
copy0 = copy1()©2()©3()
print surl()
print curl()
print copy0()
rem oShell.execute(copy0(),,0)
rem oShell.execute(cp,,curl() copy3())
rem shell(cp,,curl() copy3())
shell(copy0())
rem shell("cp /data/test_old/testx1.pdf /data/test")
end sub
Hab ebenfals versucht "/usr/bin/cp" statt "cp" oder nur die curl() variable zu nutzen:
Code: Alles auswählen
shell("cp "&curl()&" /data/test/")
danke fürs lesen, calli