
處理pdf文件的代碼突然無法正常運行win7系統,之前代碼都能完美運行,實現給pdf加書簽,奇數頁pdf文件末尾添加空白頁,合并pdf為所在文件夾命名的文件,并刪除其他pdf文件,最近突然無法運行了,提示“The system cannot write to the specified device”,請問可能存在哪些問題?
nclick="copycode($('code0'));">復制代碼
- rem 批處理保存為utf-8編碼格式
- chcp 65001 >nul
- set file=C:PDFtk空白頁.pdf
- set _pdftk=C:PDFtkpdftk.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

