แปลง xls เป็น csv โดยใช้ LibreOffice


0

งานดังต่อไปนี้ใช้ได้ดี:

"path_to_libreoffice\soffice.exe" --convert-to csv test.xls

อย่างไรก็ตามเมื่อฉันพยายามแปลงไฟล์ xls ทั้งหมดในโฟลเดอร์ไม่มีอะไรเกิดขึ้น:

"path_to_libreoffice\soffice.exe" --convert-to csv *.xls

ฉันสามารถคัดลอกชื่อไฟล์ xls ทั้งหมดและทำเช่นนั้นได้ แต่ทำไมไม่*.xlsทำงาน


เพราะมันไม่เข้าใจสัญลักษณ์แทน?

แต่ตัวอย่างทั้งหมดที่ฉันค้นพบทางออนไลน์อ้างว่าเป็นเช่นนั้น หรือพวกเขาหมายถึง "ชื่อไฟล์" โดยเครื่องหมายดอกจัน ...
kat

คำตอบ:


2

รุ่น Linux จะมี wild-cards ที่ขยายโดยเชลล์ในรายการของไฟล์ที่ตรงกัน

เวอร์ชั่น Windows ควรยอมรับรายการไฟล์ แต่cmdจะไม่ขยายให้คุณ

คำตอบที่ง่ายที่สุดคือการใช้forคำสั่ง:

for %f in (*.xls) do "path_to_libreoffice\soffice.exe" --convert-to csv "%f"

โปรดทราบว่า%fจะต้องถูกแทนที่ด้วย%%fในไฟล์แบตช์

วิธีนี้มีประสิทธิภาพน้อยกว่าในการจัดหารายชื่อไฟล์โดยที่การแปลงทั้งหมดจะทำในช่วงเวลาเดียวในขณะที่การดำเนินการนี้มีกำหนดการแยกต่างหากสำหรับการแปลงแต่ละครั้ง

อาจเป็นไปได้ที่จะสร้างตารางเวลาและรายการไฟล์จาก wild-card แต่สิ่งนี้จะต้องใช้สคริปต์ที่ซับซ้อน bashหรือคุณสามารถใช้พอร์ตของ Windows

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.