다음은 잘 작동합니다.
"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
.