Sonunda bir ihracat boru hattı buldum, ama bu bir acıydı. İşte bunu yapmaktan notlar:
Her dışa aktarmadan sonra OneNote'un uzun bir OneDrive senkronizasyonu yapmasını önlemek için ağlarınızı kapatın.
Not Defterleri listesinde, tüm sekmeleri görmek için not defterini genişletin.
Bir sekmeyi sağ tıklayın ve "Dışa aktar ..." ı tıklayın.
Dosya türü açılır menüsünü tıklayın ve biçimi Mseçmek için tuşuna basın .docx. Seçmek Enteriçin tuşuna basın .
EnterDışa aktarılan dosyayı kaydetmek için tekrar basın .
Dizüstü bilgisayardaki her sekme için 2-5. Adımları tekrarlayın.
Pandoc kurun ve bir PowerShell veya cmd penceresi açın.
dışa aktarılan .docxdosyaların bulunduğu dizine cd .
Dışa aktarılan her .docxdosya için, işaretlemeye dönüştürmek üzere aşağıdaki pandoc komutunu kullanın ( journaldosyanızın adıyla değiştirin ):
pandoc --extract-media='' --wrap=preserve '.\journal.docx' -o journal.md
Komutun bir açıklaması: --extract-media=''pandoc'a .docxdosyadan görüntüleri almasını ve bunları varsayılan alt klasöre (varsayılan olarak 'media' olarak adlandırılır) koymasını söyler. --wrap=preservepandoc'a çıktı dosyasını satır aralıklarıyla (bu varsayılan değerdir) sağlam bir şekilde sarmamasını söyler. Bir sonraki alan girdi dosya -oadıdır ve 'çıktı' anlamına gelir journal.md, çıktı dosya adı da öyle.
Bu dosyayı bölmek istemiyorsanız (örneğin, sekmenizde yalnızca bir sayfa varsa), 15. adıma atlayın.
(Bunlardan bir demet yaparken ↑, kabuktaki önceki komutu geri çağırmak için (yukarı ok) tuşuna basıp dosya adını düzenleyebilirsiniz.)
Sayfaları sekmede depolamak için yeni bir klasör oluşturun. Bu örnek için, şu anda OneNote'ta Dergi sekmemizdeki tüm sayfalar içinde eziliyor journal.md. journalAyrılmış son sayfaları ayrı ayrı .md dosyaları olarak depolayacak bir klasör oluşturun.
.docxDosyada herhangi bir görüntü varsa , bunlar adlı yeni bir klasöre aktarılır media. Medya klasörünü (varsa) şimdi oluşturduğunuz klasöre sürükleyin. (Bu yüzden her pandoc işlemini ayrı ayrı yapmamız gerekiyor, çünkü her dışa aktarma ayrı bir medya klasörü oluşturacak ve bunları ayrı tutmak istiyoruz, böylece markdown dosyalarındaki bağlantılar doğru çalışıyor. Tüm bunları yapmak için akıllı bir komut dosyası yazabiliriz. otomatik olarak, ancak çok sayıda not defteriniz yoksa manuel olarak yapmanız daha az zaman alacaktır.) (Not: İstediğiniz klasör adını --extract-media=''bağımsız değişkenin tek tırnaklarına koyarak resim kaydedebilirsiniz - resimli .docxdosyalar için , sizin için otomatik olarak bir klasör oluşturulur.)
.mdDosyayı içeren dizine bir bash terminali ve cd açın . 10. adımda oluşturduğunuz klasör, bunun bir alt klasörü olmalıdır (aşağıdaki komutta yolu düzeltmediyseniz).
Henüz yapmadıysanız, Windows Bash pencere simgesine tıklayın, Özellikler'e tıklayın, Hızlı Düzenleme Modunu kontrol edin ve ardından Tamam'a tıklayın. Şimdi Windows Bash pencere simgesine tekrar tıklayın, bu kez Varsayılanlar'a tıklayın, QuickEdit Modunu kontrol edin ve ardından Tamam'a tıklayın (böylece gelecekte oluşturacağınız yeni Bash pencereleri bu ayarı hatırlayacaktır). Artık terminalde metin seçebilir ve kopyalamak için Ctrl+ tuşuna basabilir Cveya metni panoya yapıştırmak için terminal penceresine sağ tıklayabilirsiniz. Şimdi komutumuzu ayrı bir yerde hazırlayabilir ve her sürümü hızlı bir şekilde Bash'e yapıştırabiliriz.
Aşağıdaki komutu özelleştirin ve .mdayrı sayfalara bölmek istediğiniz her dosya için çalıştırın :
csplit ./journal.md --keep-files --prefix='journal/journalentry '
--suffix-format='%i.md' --elide-empty-files '/^\(Monday\|Tuesday\|Wednesday\|Thursday\|Friday\|Saturday\|Sunday\),/-2' '{*}'
(Tek satır olarak yazın.)
Gördüğünüz gibi journal.md, işaretleme dosyamızın adı (şu anki dizinde, ile belirtilir ./), ikinci journal(sonra --prefix=') oluşumu , bölünmüş dosyaları içerecek olan alt klasörümüzün adıdır ve journalentryher dosyanın adı verilir (ardından bir dizin numarası gelir).
Komutu anlamak istiyorsanız, işte bir açıklama: --keep-fileshatalar veya dosyanın sonu ile karşılaşıldığında dosyaları hala yazdırır, son sayfanın doğru şekilde çıkmasını sağlar (normal ifademizin deseninde sona ermediğinden). --prefixçıktı dosyalarının adlandırma düzenini ayarlar. --suffix-formatdosya uzantımızı ayarlamamıza izin verir ( .mdbu durumda), ancak %idosyanın dizin numarasını veren sprintf deyimini eklememiz gerekir . --elide-empty-filesumursamadığımız boş dosyaların çıktısını atlar. Son olarak, ile başlayan '/ve biten düzenli ifade/-2', dosyanın ne zaman bölüneceğini tanımlar: satırın başında (/) (^) öğesini bulduğunuzda (() Pazartesi veya (\ |) Salı veya Çarşamba veya Perşembe veya Cuma veya Cumartesi veya Pazar () ) ve ardından virgül ekleyin, iki satır geri çekilin (-2) "ve dosyayı oraya bölün ve şimdiye kadar elimizde olan çıktıyı alın. Son bit, '{*}'dosyanın sonuna ulaşılana kadar önceki komutu süresiz olarak tekrarlar.
.docxVe .mddosyalarını bir klasöre sürükleyin, şimdi oluşturduğunuz bir klasörü söyleyin intermediates. Veya sadece silebilirsiniz. Geri dönüp dönüştürme işlemi sırasında meydana gelen bir şeye başvurmak istemeniz durumunda, yeni dosya biçiminizle rahat oluncaya kadar bunları bir süre kaydetmek güzeldir. Şimdi onları ara klasöre taşımak, nerede olduğumuzu unutma ve adımları tekrarlama şansına sahip olacak.
.docxOneNote'tan dışa aktardığınız her dosya için 9-14 arasındaki adımları tekrarlayın .
Artık her sekme için bir klasör var, içinde ayrı ayrı .mddosyalar var, her sayfa için bir klasör var ! Ayrıca media, her alt klasörde OneNote sekmesinde görüntüleri olan bir klasör.
OneNote not defterlerinizin her birini bir .mhtdosya (Tek Dosya Web Sayfası) olarak dışa aktarmanızı veya isterseniz a .pdf. Bu şekilde, işaretleme dosyalarınızın bazılarında biçimlendirme veya diğer bilgiler kaybolmuşsa, çoklu dönüşüm nedeniyle, her zaman geri dönebilir ve .mhtdosyaya nasıl bakması gerektiğini kolayca görebilirsiniz . Buna ek olarak, OneNote not defterlerinizin her birini bir .onepkgdosya (OneNote Paketi) olarak dışa aktarmanızı öneririm , bu nedenle Not Defteri'ni OneNote'ta kendi özgün / orijinal dosya biçiminde yeniden açmak isterseniz güzel bir son dışa aktarma kopyanız olur (bu yararlı olabilir) örneğin, .mhtdosyada kurtarmak istediğiniz bazı orijinal biçimlendirme de eksikse).
Her bir not defterini tamamladığınızda, OneNote'ta not defterini sağ tıklayın ve "Not Defterini Kapat" ı tıklayın, böylece not defterini yanlışlıkla düzenlemeyip yeni değişikliklerinizi yeniden dışa aktarmanız gerekmez. İşaretleme klasörleri için, her not defteri için bir klasör oluşturdum ve tüm sekme klasörlerini içine koydum.
Tüm dışa aktarma projesini bitirdiğinizde, OneDrive'ınıza gidip orada senkronize edilen tüm OneNote dizüstü bilgisayar orijinallerinizi silebilirsiniz (elbette kendi dosyalarınızı yedeklediğinizden emin olun! Linux için OneDrive var veya Eşitleme gibi bir şey deneyebilir).
Son olarak, tüm .md dosyalarımızı iki komut dosyası kullanarak her dosyadaki ilk satır olan OneNote sayfa başlıklarıyla yeniden adlandırabiliriz. Aşağıdaki dosyaları yapın:
Dosya 1: ~/scripts/rename-files-to-first-line.sh
for i in *md ; do mv -n "$i" "$(cat "$i"|head -n1|tr -d '\000-\037[]{}()/\?*')".md; done
Dosya 2: ~/scripts/recurse.sh
CDIR=$(pwd)
for i in $(ls -R | grep :); do
DIR=${i%:} # Strip ':'
cd $DIR
$1 # Your command
cd $CDIR
done
Ardından notlar klasörünüze gidin recurse.shve rename-files-to-first-line.shkomutu bağımsız değişken olarak kullanarak komutu çalıştırın :
$ ~/scripts/recurse.sh ~/scripts/rename-files-to-first-line.sh
Komut dosyasının tüm dosyalarınızı tekrar tekrar yürüttüğünü göreceksiniz, garip ilk satırlara sahip dosyalara (dosya adına dönüştürülmeyecek) ve diğer uç durumlarda bazı hatalar atıyorsunuz. Ancak, mvkomut, herhangi bir dosyanın üzerine yazmasını engelleyen rename-files-to-first-lineargüman ile yürütülür -n. Yeniden adlandırılmayan birkaç not olabilir, çünkü içlerindeki ilk satır boş veya garip bir şeydir, ancak bu birkaç dosyayı manuel olarak düzeltebilirsiniz.
OneNote'tan temiz kaçışınızı yaşayın.