[英]How to obtain the filename in windows?
程序ImageMagick具有convert
命令,可用於轉換圖片格式。 例如我有一個圖片test.jpg
convert test.jpg test.png
將給出test.png。
我想將此命令添加到右鍵菜單中以簡化我的工作。 我在HKEY_CLASSES_ROOT -- * -- shell
的regedit
中添加了一個項目HKEY_CLASSES_ROOT -- * -- shell
C:\Program Files\ImageMagick-7.0.3-Q16\convert.exe -density 600 "%1" %1.png
當我運行此命令將文件test.jpg
提交時,它將給出test.jpg.png
。 我想獲取文件test.png
。 我應該如何修改命令行?
我不確定外殼處理程序是否直接支持此功能,但是我可以使用具有所需功能的cmd
來解決:
cmd /d /c "for /f "delims=" %%i in ('@echo %1') do @start "" "C:\Program Files\ImageMagick-7.0.3-Q16\convert.exe" -density 600 "%1" "%%~dpni.png""
@echo %1
echo @echo %1
回顯外殼程序提供的完整路徑,使其可用於CMD作為可處理的結果。 該表達式用單引號引起來,因為這就是使其成為命令的原因。 for /f
分析該結果作為字符串(包含一個字符串)的列表,使各(一個)字符串轉換成%i
和允許%~dpni
該需要的驅動器號,路徑和文件名 (但是沒有擴展)出的%i
。 @start
用於不使CMD等待程序完成。 start
后必須使用空引號。 你的方法很好。 雖然您需要從以下方面稍微更改語法:
C:\Program Files\ImageMagick-7.0.3-Q16\convert.exe -density 600 "%1" %1.png
至
C:\Program Files\ImageMagick-7.0.3-Q16\convert.exe -density 600 "%1" "%~n1.png"
我希望這能解決您的問題。 但是,如果不這樣-您可以制作一個包含此命令的批處理文件(第二個文件,該文件由我修改),然后將其保存在PC中的某個位置(說“ C:\\ MyScript.Bat” )
並且,嘗試將注冊表項設置為:
C:\MyScript.bat "%1"
而且,這是靈活的方式。 注意:批處理代碼如下:
"C:\Program Files\ImageMagick-7.0.3-Q16\convert.exe" -density 600 "%1" "%~n1.png"
您想要在右鍵快捷菜單中進行的任何更改,都可以通過更改批處理文件來應用 。
希望我能幫上忙!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.