path cmd working_directory的隐式转换规则 - rexdf/CommandTrayHost GitHub Wiki
只在2.2-b442之后版本有效
规则:
- 绝对路径保持不变
- path的补全规则:
- path为空,且cmd为绝对路径,那么取cmd中的exe所在目录
- 除此以外的相对值,都是相对于CommandTrayHost.exe所在目录
- working_directory的补全规则:
- working_directory以
>
开头,那么它是相对于CommandTrayHost.exe所在目录 - 否则它是相对于补全后的path的
- working_directory以
- cmd只会相对于path
假设CommandTrayHost在D:\CTH\CommandTrayHost.exe
"" "C:\\a.exe" "" --> "C:\\" "C:\\a.exe" "C:\\"
"" "C:\\a.exe" ">" --> "C:\\" "C:\\a.exe" "D:\\CTH\\"
"" "C:\\a.exe" "E:\\data" --> "C:\\" "C:\\a.exe" "E:\\data"
"" "a.exe" "" --> "D:\\CTH" "D:\\CTH\\a.exe" "D:\\CTH"
"F:\\" "a.exe" "" --> "F:\\" "F:\\a.exe" "F:\\"
"F:\\" "a.exe" ">" --> "F:\\" "F:\\a.exe" "D:\\CTH"
"F:\\" "a.exe" "a" --> "F:\\" "F:\\a.exe" "F:\\a"
"F:\\" "a.exe" ".\\a" --> "F:\\" "F:\\a.exe" "F:\\a"
"F:\\" "a.exe" "..\\a" --> "F:\\" "F:\\a.exe" "F:\\a"
"F:\\" "a.exe" ">a" --> "F:\\" "F:\\a.exe" "D:\\CTH\\a"
"F:\\" "a.exe" ">..\\a" --> "F:\\" "F:\\a.exe" "D:\\a"
"F:\\" "C:\\a.exe" "a" --> "F:\\" "C:\\a.exe" "F:\\a"
"F:\\" "C:\\a.exe" ">.\\a" --> "F:\\" "C:\\a.exe" "D:\\CTH\\a"
"d1" "d2\\a.exe" "d3" --> "D:\\CTH\\d1" "D:\\CTH\\d1\\d2\\a.exe" "D:\\CTH\\d1\\d3"