标题: [文件操作] 处理pdf文件的代码突然无法正常运行 [打印本页]
作者: 暴雪英雄 时间: 2024-8-15 11:32 标题: 处理pdf文件的代码突然无法正常运行
win7系统,之前代码都能完美运行,实现给pdf加书签,奇数页pdf文件末尾添加空白页,合并pdf为所在文件夹命名的文件,并删除其他pdf文件,最近突然无法运行了,提示“The system cannot write to the specified device”,请问可能存在哪些问题?- rem 批处理保存为utf-8编码格式
- chcp 65001 >nul
-
- set "file=C:\PDFtk\空白页.pdf"
- set "_pdftk=C:\PDFtk\pdftk.exe"
- for /f "delims=" %%i in ('dir /b /a-d *.pdf') do (
- %_pdftk% "%%i" dump_data_utf8 output |find "BookmarkTitle:" 1>nul
- if errorlevel 1 (
- >report.txt (
- echo BookmarkBegin
- for /f "tokens=2 delims=(" %%x in ("%%~ni") do (
- for /f "tokens=1 delims=2" %%y in ("%%x") do (
- echo BookmarkTitle: %%y
- )
- )
- echo BookmarkLevel: 1
- echo BookmarkPageNumber: 1
- )
- %_pdftk% "%%i" update_info_utf8 report.txt output $.pdf
- cmd /c move $.pdf "%%i" >nul 2>&1
-
- )
- )
- del report.txt
-
-
-
-
- setlocal enabledelayedexpansion
- for %%a in (*.pdf) do (
- set /a n+=1
- )
-
- for /f "delims=" %%i in ('dir /b /a-d *.pdf') do (
- set /a m+=1
- if !m! neq !n! (
- "%_pdftk%" "%%i" dump_data_utf8 output |findstr /rbec:"NumberOfPages:.*[13579]" 1>nul && (
- set strpdf=!strpdf! "%%i" "%file%"
- ) || (
- set strpdf=!strpdf! "%%i"
- )
- ) else (
- set strpdf=!strpdf! "%%i"
- )
- )
-
- for %%i in (.) do (
- echo 合并 !strpdf!
- "%_pdftk%" !strpdf! cat output "%%~nxi.pdf"
- set dir_name=%%~nxi
- if exist "%%~nxi.pdf" (
- for %%a in (*.pdf) do (
- if "%%a" neq "%%~nxi.pdf" (
- del "%%a"
- )
- )
- )
- )
-
- echo 已合并生成"%dir_name%.pdf",并删除其它原始PDF文件。
- start "" "%dir_name%.pdf"
-
- endlocal
- pause
复制代码
作者: Five66 时间: 2024-8-15 14:10
chcp 65001时字体得换成lucida consolecmd窗口才能显示非英文
作者: 暴雪英雄 时间: 2024-8-15 15:09
回复 2# Five66
感谢,后面按照网上的方法,修改注册表,重置了一下cmd的默认值,就好了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |