Board logo

标题: [问题求助] PowerShell设置文件关联函数遇到的问题 [打印本页]

作者: 5i365    时间: 2022-10-30 10:40     标题: PowerShell设置文件关联函数遇到的问题

在国外论坛找到如下的设置文件关联的函数, 如果exe程序名中没有空格可以设置成功, 但是如果有空格, 就没有任何反应, 求路过高手支招, 提前感谢

要设置的程序文件的名字是 PowerShell Studio.exe程序所在的路径是 C:\Program Files\SAPIEN Technologies, Inc\PowerShell Studio 2022
发现这个软件的开发者好坑啊, 程序名中有空格不说, 路径中还有 , 号
  1. Function Create-Association($ext, $exe)
  2. {
  3.         $name = cmd /c "assoc $ext 2>NUL"
  4.         if ($name)
  5.         {
  6.                 # Association already exists: override it
  7.                 $name = $name.Split('=')[1]
  8.         }
  9.         else
  10.         {
  11.                 # Name doesn't exist: create it
  12.                 $name = "$($ext.Replace('.', ''))file" # ".log.1" becomes "log1file"
  13.                 cmd /c 'assoc $ext=$name'
  14.         }
  15.         cmd /c "ftype $name=`"$exe`" `"%1`""
  16. }
复制代码
用下面的批处理也不行
  1. @Echo off
  2. set "CurDir=C:\Program Files\SAPIEN Technologies, Inc\PowerShell Studio 2022"
  3. Set Ext=ps1
  4. Set "ProductName=PowerShell Studio"
  5. Set Icon=0
  6. Assoc .%Ext%=%ProductName%File
  7. REG ADD HKCR\%ProductName%File\DefaultIcon /ve /t REG_SZ /d "%CurDir%\%ProductName%.EXE,%Icon%" /f>NUL
  8. REG ADD HKCR\%ProductName%File\shell\open\command /ve /t REG_SZ /d "\"%CurDir%\%ProductName%.EXE\" "\"%%1\" /f>NUL
  9. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2