![](/img/trans.png)
[英]How do I pipe a file into an encrypted, password protected zip file, then delete the original file, in Windows batch?
[英]How do I access the original file name that is associated a batch file
我創建了自己的文件擴展名,並將該文件擴展名與批處理文件相關聯,這只是假設要調用ruby腳本。 因此,ruby腳本將執行並修改原始文件(Test.jim)。 但是我需要將原始文件的名稱傳遞給ruby腳本,以便它可以訪問它。 我的批處理文件很簡單
ruby batrun.rb %0
但是,這會傳遞批處理文件的名稱/路徑,而不是帶有我的文件擴展名的原始文件。 我如何通過批處理文件。
*編輯
根據要求,這是我如何將文件擴展名與批處理文件關聯
Ftype jimfile="C:\Users\Server\Desktop\File Extension\Jimbat.bat" "%1"
Assoc .jim=jimfile
我只是將其放入批處理文件中,然后運行它。
如果有興趣的人,我會找出解決方法。 由於某些原因,通過批處理文件運行關聯將不允許添加參數。 我完全不知道為什么,但只需輸入完全相同的內容
ftype jimfile="C:\Users\Server\Desktop\FileExtension\Jimbat.bat" %1
進入具有管理訪問權限的cmd會完美
只是為了澄清答案,將在命令提示符處使用以下命令:
Assoc .jim=jimfile Ftype jimfile="C:\\Users\\Server\\Desktop\\File Extension\\Jimbat.bat" "%1" %* set PATHEXT=.jim;%PATHEXT%
但在批處理文件中:
Assoc .jim=jimfile Ftype jimfile="C:\\Users\\Server\\Desktop\\File Extension\\Jimbat.bat" "%%1" %%* set PATHEXT=.jim;%PATHEXT%
jimbat.bat包含:
echo ruby batrun.rb %* ruby batrun.rb %*
筆記:
如果鍵入test.jim abc
該命令將與鍵入ruby batrun.rb "C:\\Users\\Server\\Desktop\\File Extension\\test.jim" abc
帶引號的test.jim
完整路徑(假定目錄相同) 。 您的最新評論表明您正在使用雙引號。 當使用具有擴展名關聯的批處理文件腳本時,通常使用雙引號。 查看ftype
輸出,您將看到由於句柄命令行參數的方式,許多程序不使用雙引號。
如果您想要ruby batrun.rb C:\\Users\\Server\\Desktop\\File Extension\\test.jim abc
則ftype
將省略雙引號,如ftype /h
。 您只需要%*
即可允許多個參數,否則%1
就足夠了。
assoc
, ftype
進入注冊表並全局應用於Windows。 我注意到測試時,可以清除時assoc
從cmd.exe的,但ftype
只可以使用注冊表工具不會被刪除ftype
命令。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.