Тема: CMD/BAT: Поведение команды DIR
Доброго дня.
Имеем тестовый каталог с 2 файлами "102.xls", "102.xlsx"
c:\_!>dir *.xls
...cut
10.2020 16:37 62 976 102.xls
10.07.2020 16:37 62 976 102.xlsx
...cut
Мне не нужен файл xlsx, как обойти сие поведение?
--------------------------------------------------------------------------------------------
Провожу тест. В каталоге 4 файла:
01.01.doc
0101.doc
01.01.xls
0101.xls
и батник:
cmd.cmd
for /R %%f in (*.doc) do copy "%%f" "%%fx"
for /R %%f in (*.xls) do copy "%%f" "%%fx"
Запускаем, получаем:
0101.doc
0101.docx
01.01.doc
01.01.docx
01.01.docxx
0101.xls
0101.xlsx
01.01.xls
01.01.xlsx
01.01.xlsxx
Во дела, из-за точки в имени файла возникает какая то фигня.
Но удивило другое.
Мне понадобилось сконвертировать множество файлов из xls в xlsx и doc в docx. Казалось бы все просто, простой батник:
for /R %%f in (*.xls) do "C:\Program Files\Microsoft Office\Office16\excelcnv.exe" -oice "%%f" "%%fx"
for /R %%f in (*.doc) do "C:\Program Files\Microsoft Office\Office16\Wordconv.exe" -oice -nme "%%f" "%%fx"
Запускаем в каталоге с теми же файлами
01.01.doc
0101.doc
01.01.xls
0101.xls
Результат:
0101.doc
0101.docx
01.01.doc
01.01.docx
0101.xls
0101.xlsx
01.01.xls
01.01.xlsx
01.01.xlsxx
С doc-ми все в норме.
Я в недоумении.
Помогайте пожалуйста.