【已解决】au3怎么处理文件或文件夹或文件和文件夹都有空格?
本帖最后由 redapple2008 于 2022-7-15 12:21 编辑au3怎么处理文件或文件夹或文件和文件夹都有空格?
群友“纯洁的AvOne”给出如下解决方法,但对于有些语言不支持“号,大佬还有其他解决方法吗?
$lujing = 'D:\houlin and Jss\Dir'
$nLujing = StringRegExpReplace($lujing, '(?<=\\)([^\\]*\h+[^\\\r]+)', '"$1"')
$lujing = 'D:\houlin and Jss\Dir'
MsgBox(0,'',StringStripWS($lujing,8))
删除所有空格 itzyx 发表于 2022-7-7 22:12
$lujing = 'D:\houlin and Jss\Dir'
MsgBox(0,'',StringStripWS($lujing,8))
那不就找不到了吗? redapple2008 发表于 2022-7-8 21:26
那不就找不到了吗?
哈哈大佬不好意思我以为你要删除路径里面多的空格 1,最外层加引号难道不行? $lujing = '"D:\houlin and Jss\Dir"'
2,转为 dos 短路径 afan 发表于 2022-7-8 23:12
1,最外层加引号难道不行? $lujing = '"D:\houlin and Jss\Dir"'
2,转为 dos 短路径
1方案不行,
2方案如果多层文件夹空格怎么解决?FileGetShortName只能解决一层空格。 redapple2008 发表于 2022-7-9 11:33
1方案不行,
2方案如果多层文件夹空格怎么解决?FileGetShortName只能解决一层空格。
你确定只能解决一层?仔细看帮助 afan 发表于 2022-7-9 12:32
你确定只能解决一层?仔细看帮助
$longName="C:\Program Files (x86)\Internet Download Manager\IDM Backup Manager"
$shorName=FileGetShortName($longName)
ConsoleWrite(@CRLF&$shorName&@CRLF)
C:\PROGRA~2\Internet Download Manager\IDM Backup Manager redapple2008 发表于 2022-7-9 16:38
C:\PROGRA~2\Internet Download Manager\IDM Backup Manager
奇葩
$longName = @LocalAppDataDir
ConsoleWrite($longName & @CRLF)
$shorName = FileGetShortName($longName)
ConsoleWrite(@error & @CRLF & $shorName & @CRLF) 另外,你一直没说用途。外面加引号还没见过不能用的。不排除重定向。 本帖最后由 redapple2008 于 2022-7-11 09:43 编辑
afan 发表于 2022-7-9 17:04
另外,你一直没说用途。外面加引号还没见过不能用的。不排除重定向。
$command = 'java -jar ItextDemo.jar ' & $file_old & ' '& $file_new & ' '& $mm_1 & ' ' & $mm_2
像这样的命令行,$file_old 和$file_new再加引号或空格都会报错。 redapple2008 发表于 2022-7-9 11:33
1方案不行,
2方案如果多层文件夹空格怎么解决?FileGetShortName只能解决一层空格。
1方案为什么不行? 楼主对单双引号的使用不够了解
$command = 'java -jar ItextDemo.jar ' & $file_old & ' '& $file_new & ' '& $mm_1 & ' ' & $mm_2
如果你的意思是file_old ,file_new 文件名或路径带有空格,那此参数需用双引号引用。
ExecRunAsV2.exe "/user:ra" "/nm:administrator" "/pw:XXXXX" "/dm:local" "/lf:1" "/cd:C:\" " ExecRunAsV2.exe ""/user:s""""/il:h"" ""/priv:e"" ""/cd:C:\"" """"C:\Windows\system32\cmd.exe""/k whoami /all"" "
你看懂了这些引号是如何使用的吗?答案在下面
tubaba 发表于 2022-7-15 10:41
楼主对单双引号的使用不够了解
$command = 'java -jar ItextDemo.jar ' & $file_old & ' '& $file_new & ' ...
十分感谢,问题解决。 redapple2008 发表于 2022-7-15 12:21
十分感谢,问题解决。
跟我 5# 说的区别在哪?你用的单引号,不存在兔巴巴解释的
页:
[1]
2