【问题标题】:How to create a drag and drop GhostScript .bat file for Windows? [duplicate]如何为 Windows 创建拖放 GhostScript .bat 文件? [复制]
【发布时间】:2020-03-06 05:26:36
【问题描述】:

我正在尝试将 this script 调整为适用于 Windows 的拖放式 .bat 文件。该脚本本身通过命令提示符运行得很好,但我尝试过的结果是一个空白的输出文件。这是我第一次尝试制作.bat 文件,因此感谢任何见解!

@echo off
cd C:\Program Files\gs\gs9.26\bin
gswin64c.exe -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile="%~1"_sm.pdf "%~1".pdf
pause
exit

编辑:谢谢大家,我已根据您的建议制作了一个按预期工作的.bat

@echo off
"C:\Program Files\gs\gs9.26\bin\gswin64c.exe" -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile="%~dp1%~n1_sm.pdf" "%~1"
pause
exit

【问题讨论】:

  • 你要拖放什么?你需要更具体。您是否打算将文件或文件夹拖到上面?如果是这样,1 个文件还是多个?
  • 不是 Ghostscript 问题,这是纯 Windows 的东西。
  • 我想将 1 个多页 pdf 拖到上面以缩小它的大小。
  • 我不认为你想要"%~1".pdf。我认为应该只是"%~1"
  • 我不认为你想要"%~1"_sm.pdf,我认为"%~dp1%~n1_sm.pdf"可能会更好

标签: batch-file drag-and-drop


【解决方案1】:
@echo off
"C:\Program Files\gs\gs9.26\bin\gswin64c.exe" -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile="%~dp1%~n1_sm.pdf" "%~1"
pause
exit

【讨论】:

  • 请注意您的代码仅使用%1,这意味着您应该只使用脚本拖放到上面。如果您决定以其他方式使用它,请确保您的输入文件在包含几个不同字符中的任何一个的情况下被双引号引起来。如果需要,drop 方法会自动包含双引号。
猜你喜欢
  • 2017-12-06
  • 1970-01-01
  • 1970-01-01
  • 2016-08-15
  • 1970-01-01
  • 2012-05-29
  • 2017-11-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多