如何在我的文件转换脚本中包含子文件夹?
How do include sub-folders in my file conversion script?
我修改了一个 vbscript 和批处理文件,允许我将 HTML 文件转换为当前目录中的 xlsx 文件,如下所示
脚本:
if WScript.Arguments.Count < 2 Then
WScript.Echo "Please specify the source and the destination files"
Wscript.Quit
End If
xlsx_format = 51
Set objFSO = CreateObject("Scripting.FileSystemObject")
src_file = objFSO.GetAbsolutePathName(Wscript.Arguments.Item(0))
dest_file = objFSO.GetAbsolutePathName(WScript.Arguments.Item(1))
Dim oExcel
Set oExcel = CreateObject("Excel.Application")
Dim oBook
Set oBook = oExcel.Workbooks.Open(src_file)
oBook.SaveAs dest_file, xlsx_format
oBook.Close False
oExcel.Quit
批处理文件:
FOR /f "delims=" %%i IN ('DIR *.HTM* /b') DO to-xlsx.vbs "%%i" "%%~ni.xlsx"
del *.HTM /q
通过在批处理文件中包含 /s
,我可以转换子文件夹中的文件,但它们仍然保存在父目录中,我不知道如何更改它?
src_file
是 C:\Converter\Subfolder\FileName 而 dest_file
是 C:\Converter\FileName 对于子文件夹中的文件
您需要更改
FOR /f "delims=" %%i IN ('DIR *.HTM* /b') DO to-xlsx.vbs "%%i" "%%~ni.xlsx"
到
FOR /R %%i IN (*.HTM* ) DO to-xlsx.vbs "%%i" "%%~ni.xlsx"
for /r
表示 递归,因此您要求 CMD 循环每个文件及其子目录,但只有它们包含 .htm*
文件.
我修改了一个 vbscript 和批处理文件,允许我将 HTML 文件转换为当前目录中的 xlsx 文件,如下所示
脚本:
if WScript.Arguments.Count < 2 Then
WScript.Echo "Please specify the source and the destination files"
Wscript.Quit
End If
xlsx_format = 51
Set objFSO = CreateObject("Scripting.FileSystemObject")
src_file = objFSO.GetAbsolutePathName(Wscript.Arguments.Item(0))
dest_file = objFSO.GetAbsolutePathName(WScript.Arguments.Item(1))
Dim oExcel
Set oExcel = CreateObject("Excel.Application")
Dim oBook
Set oBook = oExcel.Workbooks.Open(src_file)
oBook.SaveAs dest_file, xlsx_format
oBook.Close False
oExcel.Quit
批处理文件:
FOR /f "delims=" %%i IN ('DIR *.HTM* /b') DO to-xlsx.vbs "%%i" "%%~ni.xlsx"
del *.HTM /q
通过在批处理文件中包含 /s
,我可以转换子文件夹中的文件,但它们仍然保存在父目录中,我不知道如何更改它?
src_file
是 C:\Converter\Subfolder\FileName 而 dest_file
是 C:\Converter\FileName 对于子文件夹中的文件
您需要更改
FOR /f "delims=" %%i IN ('DIR *.HTM* /b') DO to-xlsx.vbs "%%i" "%%~ni.xlsx"
到
FOR /R %%i IN (*.HTM* ) DO to-xlsx.vbs "%%i" "%%~ni.xlsx"
for /r
表示 递归,因此您要求 CMD 循环每个文件及其子目录,但只有它们包含 .htm*
文件.