标题: [文件操作] 批处理如何批量让文件夹下的word文件转为PDF? [打印本页]
作者: 脑袋大 时间: 2023-10-11 17:56 标题: 批处理如何批量让文件夹下的word文件转为PDF?
如何批量让文件夹下的word文件转为PDF:求助大神!转换完的PDF名称保留word的命名名字且路径在源文件夹内,例如:6界址点成果表.docx→6界址点成果表.pdf 注:word的名称只有两个(300多个文件夹下的word名称都叫:4地籍调查表.docx、6界址点成果表.docx,仅文件夹名称不一致)
作者: hfxiang 时间: 2023-10-11 19:10
回复 1# 脑袋大
看看这个能否满足要求:
https://www.cnblogs.com/Mr-nie/p/8029085.html
作者: Five66 时间: 2023-10-11 21:36
不知行否
pdf不带书签- @if (0)/*==(0)/* echo off
-
- cmd /u /c dir /b /s /a-d *.docx | cscript //nologo //e:jscript //u "%~f0"
- taskkill /F /IM winword.exe 2>nul
-
- pause&exit/b
- rem */@end
-
- var nil=null,f=[];
- while (!WScript.StdIn.AtEndOfStream) {
- s=WScript.StdIn.ReadLine();
- f.push(s);
- }
-
- var i,p,file,fso=GetObject("new:scripting.filesystemobject");
- var wa=GetObject("new:word.application");
- wa.Visible=false;wa.DisplayAlerts=false;wa.ScreenUpdating=false;
-
- for (i in f){
- p=f[i].split('.');
- p.pop();
- p.push('pdf');
- if (fso.FileExists(p.join('.'))){}
- else {
- file=wa.Documents.Open(f[i]);
- file.SaveAs2(p.join('.'),17);
- file.Close(false);
- }
- }
-
- wa.Visible=true;wa.DisplayAlerts=true;wa.ScreenUpdating=true;
- wa.Quit();wa=nil;
复制代码
作者: ppll2030 时间: 2023-10-12 11:21
本帖最后由 ppll2030 于 2023-10-12 11:27 编辑
新手村再次挑战
把以下代码保存为bat文件,放在主文件夹下即可。会自动搜索该文件夹及其子文件夹下的所有word文件并另存为PDF- @echo off
-
- :vbs
- (echo Set fso = CreateObject^("Scripting.FileSystemObject"^)
- echo For i= 0 To WScript.Arguments.Count -1
- echo doc = WScript.Arguments^(i^)
- echo doc = fso.GetAbsolutePathName^(doc^)
- echo If LCase^(Right^(doc, 4^)^) = ".doc" Or LCase^(Right^(doc, 5^)^) = ".docx" Then
- echo Set objWord = CreateObject^("Word.Application"^)
- echo pdfPath = FSO.GetFile^(doc^).ParentFolder
- echo pdfname = fso.GetBaseName^(doc^) ^& ".pdf"
- echo objWord.Visible = False
- echo Set objDoc = objWord.documents.open^(doc^)
- echo objDoc.saveas pdfPath ^& "\" ^& pdfname,17
- echo objDoc.Close
- echo objWord.Quit
- echo End If
- echo Next ) > Word2PDF.vbs
-
- for /f "delims=" %%i in ('dir /b /s /a-d *.doc') do Word2PDF.vbs "%%i"
- del /p Word2PDF.vbs
- echo.&echo 当前文件夹(含子文件夹)下的所有word文档已全部转换成PDF~! &pause >NUL
复制代码
温馨提示:
如果你的word文件过多或过大,脚本效率将大大降低。
这类操作还是建议用PDF批量工具完成较好。
作者: 脑袋大 时间: 2023-10-16 09:21
回复 4# ppll2030
谢谢
作者: 脑袋大 时间: 2023-10-16 09:21
回复 3# Five66
感谢!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |