簡體   English   中英

如何在Windows中獲取文件名?

[英]How to obtain the filename in windows?

程序ImageMagick具有convert命令,可用於轉換圖片格式。 例如我有一個圖片test.jpg

convert test.jpg test.png

將給出test.png。

我想將此命令添加到右鍵菜單中以簡化我的工作。 我在HKEY_CLASSES_ROOT -- * -- shellregedit中添加了一個項目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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM