LibreOffice를 사용하여 xls를 csv로 대량 변환

LibreOffice를 사용하여 xls를 csv로 대량 변환

다음은 잘 작동합니다.

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

그러나 폴더의 모든 xls 파일을 변환하려고 하면 아무 일도 일어나지 않습니다.

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

모든 xls 파일 이름을 복사하여 그렇게 할 수 있지만 왜 *.xls작동하지 않습니까?

답변1

Linux 버전에는 쉘에 의해 일치하는 파일 목록으로 확장된 와일드카드가 있습니다.

Windows 버전은 파일 목록을 허용하지만 cmd이를 확장하지는 않습니다.

가장 쉬운 대답은 for다음 명령문을 사용하는 것입니다.

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

배치 파일 %f로 대체해야 합니다 .%%f

이는 모든 변환이 단일 일정으로 수행되는 파일 목록을 제공하는 것보다 효율성이 떨어지는 반면, 각 변환에 대해 별도의 일정을 수행합니다.

와일드카드를 사용하여 단일 일정 및 파일 목록을 생성할 수도 있지만 이를 위해서는 복잡한 스크립팅이 필요합니다. 또는 Windows 포트인 bash.

관련 정보