在国外论坛找到如下的设置文件关联的函数, 如果exe程序名中没有空格可以设置成功, 但是如果有空格, 就没有任何反应, 求路过高手支招, 提前感谢
要设置的程序文件的名字是 PowerShell Studio.exe程序所在的路径是 C:\Program Files\SAPIEN Technologies, Inc\PowerShell Studio 2022
发现这个软件的开发者好坑啊, 程序名中有空格不说, 路径中还有 , 号 - Function Create-Association($ext, $exe)
- {
- $name = cmd /c "assoc $ext 2>NUL"
- if ($name)
- {
- # Association already exists: override it
- $name = $name.Split('=')[1]
- }
- else
- {
- # Name doesn't exist: create it
- $name = "$($ext.Replace('.', ''))file" # ".log.1" becomes "log1file"
- cmd /c 'assoc $ext=$name'
- }
- cmd /c "ftype $name=`"$exe`" `"%1`""
- }
复制代码 用下面的批处理也不行- @Echo off
-
- set "CurDir=C:\Program Files\SAPIEN Technologies, Inc\PowerShell Studio 2022"
- Set Ext=ps1
- Set "ProductName=PowerShell Studio"
- Set Icon=0
-
- Assoc .%Ext%=%ProductName%File
-
- REG ADD HKCR\%ProductName%File\DefaultIcon /ve /t REG_SZ /d "%CurDir%\%ProductName%.EXE,%Icon%" /f>NUL
- REG ADD HKCR\%ProductName%File\shell\open\command /ve /t REG_SZ /d "\"%CurDir%\%ProductName%.EXE\" "\"%%1\" /f>NUL
-
- pause
复制代码
|