for /r %%v in (*.xls) do ssconvert "%%v" "%%vx"
пара сделала, чтобы люди попросили, чтобы я объяснил это, таким образом:
Part 1: for /r %%v in (*.xls)
Эта часть возвращает множество файлов в текущем каталоге, которые имеют xls
расширение. %%
может выглядеть немного любопытным. Это - в основном специальное предложение %
характер из командной строки, как используется в %PATH % или %TEMP %. Чтобы использовать его в пакетном файле, мы должны избежать его как так: %% ПУТЬ %%
или %% РАБОТАЕТ ВРЕМЕННО %%
. В этом случае мы просто избегаем временной переменной v
, который будет держать наше множество имен файлов.
Мы используем /r
переключаются, чтобы искать файлы рекурсивно, таким образом, любые файлы соответствия в детских папках будут также расположены.
Part 2: do ssconvert "%%v" "%%vx"
Эта вторая часть - то, что будет выполнено однажды за соответствие имени файла, поэтому если следующие файлы присутствовали в текущей папке:
c:\temp\mySheet.xls,
c:\temp\mySheet_yesterday.xls,
c:\temp\mySheet_20160902.xls
следующие команды были бы выполнены:
ssconvert "c:\temp\mySheet.xls" "c:\temp\mySheet.xlsx"
ssconvert "c:\temp\mySheet_yesterday.xls" "c:\temp\mySheet_yesterday.xlsx"
ssconvert "c:\temp\mySheet_20160902.xls" "c:\temp\mySheet_20160902.xlsx"