找回密码
 加入
搜索
查看: 1800|回复: 18

[网络通信] 【已解决】au3怎么处理文件或文件夹或文件和文件夹都有空格?

[复制链接]
发表于 2022-7-6 09:22:42 | 显示全部楼层 |阅读模式
本帖最后由 redapple2008 于 2022-7-15 12:21 编辑

au3怎么处理文件或文件夹或文件和文件夹都有空格?

群友“纯洁的AvOne”给出如下解决方法,但对于有些语言不支持“号,大佬还有其他解决方法吗?
$lujing = 'D:\houlin and Jss\Dir'
$nLujing = StringRegExpReplace($lujing, '(?<=\\)([^\\]*\h+[^\\\r]+)', '"$1"')

发表于 2022-7-7 22:12:27 | 显示全部楼层
$lujing = 'D:\houlin and Jss\Dir'
MsgBox(0,'',StringStripWS($lujing,8))   

删除所有空格
 楼主| 发表于 2022-7-8 21:26:10 | 显示全部楼层
itzyx 发表于 2022-7-7 22:12
$lujing = 'D:\houlin and Jss\Dir'
MsgBox(0,'',StringStripWS($lujing,8))   

那不就找不到了吗?
发表于 2022-7-8 21:52:35 | 显示全部楼层
redapple2008 发表于 2022-7-8 21:26
那不就找不到了吗?

哈哈  大佬不好意思  我以为你要删除路径里面多的空格
发表于 2022-7-8 23:12:03 | 显示全部楼层
1,最外层加引号难道不行? $lujing = '"D:\houlin and Jss\Dir"'
2,转为 dos 短路径
 楼主| 发表于 2022-7-9 11:33:46 | 显示全部楼层
afan 发表于 2022-7-8 23:12
1,最外层加引号难道不行? $lujing = '"D:\houlin and Jss\Dir"'
2,转为 dos 短路径

1方案不行,
2方案如果多层文件夹空格怎么解决?FileGetShortName只能解决一层空格。
发表于 2022-7-9 12:32:43 | 显示全部楼层
redapple2008 发表于 2022-7-9 11:33
1方案不行,
2方案如果多层文件夹空格怎么解决?FileGetShortName只能解决一层空格。

你确定只能解决一层?仔细看帮助
 楼主| 发表于 2022-7-9 16:38:00 | 显示全部楼层
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
发表于 2022-7-9 16:54:37 | 显示全部楼层
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)
发表于 2022-7-9 17:04:00 | 显示全部楼层
另外,你一直没说用途。外面加引号还没见过不能用的。不排除重定向。
 楼主| 发表于 2022-7-11 08:55:12 | 显示全部楼层
本帖最后由 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再加引号或空格都会报错。
发表于 2022-7-15 10:07:02 | 显示全部楼层
redapple2008 发表于 2022-7-9 11:33
1方案不行,
2方案如果多层文件夹空格怎么解决?FileGetShortName只能解决一层空格。

1方案为什么不行?
发表于 2022-7-15 10:41:09 | 显示全部楼层
楼主对单双引号的使用不够了解
$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"" "
你看懂了这些引号是如何使用的吗?答案在下面



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2022-7-15 12:21:09 | 显示全部楼层
tubaba 发表于 2022-7-15 10:41
楼主对单双引号的使用不够了解
$command = 'java -jar ItextDemo.jar ' & $file_old & ' '& $file_new & ' ...

十分感谢,问题解决。
发表于 2022-7-15 12:24:37 | 显示全部楼层
redapple2008 发表于 2022-7-15 12:21
十分感谢,问题解决。

跟我 5# 说的区别在哪?你用的单引号,不存在兔巴巴解释的
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 07:11 , Processed in 0.082679 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表