我想要D:\Desktop\Test0\Test1\batch1.bat
執行D:\Desktop\Test0\Test2\app.exe
而不確定特定路徑,因爲D:\Desktop\Test0
文件夾被移動了很多。當前文件夾右側的批量變量
這是什麼變量?不幸的是我找不到它,因爲我不知道這個意圖是什麼名字。
我想要D:\Desktop\Test0\Test1\batch1.bat
執行D:\Desktop\Test0\Test2\app.exe
而不確定特定路徑,因爲D:\Desktop\Test0
文件夾被移動了很多。當前文件夾右側的批量變量
這是什麼變量?不幸的是我找不到它,因爲我不知道這個意圖是什麼名字。
一個批處理文件可以使用%0
時指本身。根據this page,您可以通過添加~
修改器(例如~f
獲取完整路徑)來更改返回的字符串,~nx
獲取純文件名或~dp
獲取父目錄的路徑,僅列出一些。
在你的情況,你只需要使用%~dp0
在批處理文件batch1.bat
來獲得它的容器目錄,然後得到一個級別..
排除直接父目錄Test1
,然後將剩餘的相對路徑添加到程序app.exe
,像這樣:
"%~dp0..\Test2\app.exe"
Microsoft.com - Using batch parameters
如果使用這些批處理文件處理器,你應該能夠拉出來的是你所關心的路徑的部分,並創建APP.EXE了一條新路。不要忘記在變量周圍添加引號,否則你將無法處理文件名中的空格和其他特殊字符。
這裏有類似的問題的一個例子:Batch Extract path and filename from a variable