Batch file 如何为Windows创建拖放GhostScript.bat文件?

Batch file 如何为Windows创建拖放GhostScript.bat文件?,batch-file,drag-and-drop,Batch File,Drag And Drop,我正在尝试适应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=

我正在尝试适应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

您想拖放什么?你需要更具体一些。您是否计划将文件拖到它或文件夹上?如果是这样,一个或多个文件?不是鬼脚本问题,这是纯Windows的东西。我想把一个多页pdf拖到上面,以便缩小它的大小。我想你不需要
“%~1”.pdf
。我认为应该是
“%~1”
我不认为你想要
“%~1”\u sm.pdf
,我认为最好是
“%~dp1%~n1\u sm.pdf”
只要考虑到你的代码只使用
%1
,这意味着你应该只使用脚本来拖放。如果您决定以其他方式使用它,请确保您的输入文件包含几个不同字符中的任何一个,则它是双引号。如果需要,drop方法会自动包含双引号。
@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