Dateinamen der Bildzitate umbennen
beantwortet
Hallo,
ich würde gerne die Dateinamen der Bildzitate umbenennen, da die standardmäßige Benennung "<Autor> <Jahr> - <Erstes Wort des Titels>" nicht aussagekräftig ist. Mit folgenden Code erhalte ich eine IOException.
public static class CitaviMacro { public static void Main() { List<KnowledgeItem> knowledgeItemsList = Program.ActiveProjectShell.Project.AllKnowledgeItems.ToList(); foreach (KnowledgeItem knowledgeItem in knowledgeItemsList) { if (knowledgeItem.KnowledgeItemType == KnowledgeItemType.File) { string bibtexKey = knowledgeItem.Reference.BibTeXKey; string coreStatement = knowledgeItem.CoreStatement; knowledgeItem.Address.Rename(bibtexKey + " - " + coreStatement); } } } }Fehlermeldung:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.IOException: The process cannot access the file because it is being used by another process. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileInfo.MoveTo(String destFileName) at SwissAcademic.Citavi.LinkedResource.Rename(String fileName, Boolean allowSameFilenameCloud) at CitaviMacro.Main() --- End of inner exception stack trace --- at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) at SwissAcademic.Citavi.Shell.Controls.Editors.MacroEditorControl.Compile(Boolean run, Boolean generateExecutable)Für Hilfe wäre ich dankbar.
Steffen
Hallo Jana,
ich habe das Makro selbst geschrieben. Ich konnte jetzt auch gerade das Problem identifizieren. Das Makro lässt sich ausführen, solange man nicht in der Spalte "Zitate, Kommentate" die Option "Kernaussage und Text anzeigen" aktiviert hat. Auch nach dem Deaktivieren dieser Option funktioniert das Makro nicht.
Anscheinend wird von Citavi die Bilddatei gelockt und nicht wieder freigegeben. Ggf. wäre dies auch ein Bug Report wert.
Grüße
Steffen
PS: Ich hatte die Dateiendung bei der Umbenennung vergessen. Hier nochmal das komplette Makro für andere Benutzer, welche das obige Makro benutzen wollen.
Hallo Jana,
ich habe das Makro selbst geschrieben. Ich konnte jetzt auch gerade das Problem identifizieren. Das Makro lässt sich ausführen, solange man nicht in der Spalte "Zitate, Kommentate" die Option "Kernaussage und Text anzeigen" aktiviert hat. Auch nach dem Deaktivieren dieser Option funktioniert das Makro nicht.
Anscheinend wird von Citavi die Bilddatei gelockt und nicht wieder freigegeben. Ggf. wäre dies auch ein Bug Report wert.
Grüße
Steffen
PS: Ich hatte die Dateiendung bei der Umbenennung vergessen. Hier nochmal das komplette Makro für andere Benutzer, welche das obige Makro benutzen wollen.
Hallo Steffen,
vielen Dank für Ihre Nachricht.
Darf ich fragen, wo Sie den Code entdeckt haben?
Die Fehlermeldung deutet darauf hin, dass ein anderes Programm (das auch ein Virenscanner sein könnte) eine der umzubennenden Dateien gerade geöffnet hat:
"The process cannot access the file because it is being used by another process."
Bitte versuchen Sie es erneut.
Viele Grüße
Jana
Hallo Steffen,
vielen Dank für Ihre Nachricht.
Darf ich fragen, wo Sie den Code entdeckt haben?
Die Fehlermeldung deutet darauf hin, dass ein anderes Programm (das auch ein Virenscanner sein könnte) eine der umzubennenden Dateien gerade geöffnet hat:
"The process cannot access the file because it is being used by another process."
Bitte versuchen Sie es erneut.
Viele Grüße
Jana
Hallo Jana,
ich habe das Makro selbst geschrieben. Ich konnte jetzt auch gerade das Problem identifizieren. Das Makro lässt sich ausführen, solange man nicht in der Spalte "Zitate, Kommentate" die Option "Kernaussage und Text anzeigen" aktiviert hat. Auch nach dem Deaktivieren dieser Option funktioniert das Makro nicht.
Anscheinend wird von Citavi die Bilddatei gelockt und nicht wieder freigegeben. Ggf. wäre dies auch ein Bug Report wert.
Grüße
Steffen
PS: Ich hatte die Dateiendung bei der Umbenennung vergessen. Hier nochmal das komplette Makro für andere Benutzer, welche das obige Makro benutzen wollen.
Hallo Jana,
ich habe das Makro selbst geschrieben. Ich konnte jetzt auch gerade das Problem identifizieren. Das Makro lässt sich ausführen, solange man nicht in der Spalte "Zitate, Kommentate" die Option "Kernaussage und Text anzeigen" aktiviert hat. Auch nach dem Deaktivieren dieser Option funktioniert das Makro nicht.
Anscheinend wird von Citavi die Bilddatei gelockt und nicht wieder freigegeben. Ggf. wäre dies auch ein Bug Report wert.
Grüße
Steffen
PS: Ich hatte die Dateiendung bei der Umbenennung vergessen. Hier nochmal das komplette Makro für andere Benutzer, welche das obige Makro benutzen wollen.
Diese Diskussion wurde geschlossen. Bitte erstellen Sie bei Bedarf einen neuen Beitrag.