bat命令中使用curl的时候文件名带空格等特殊字符 需要怎么处理一下啊?

for /r %%a in (*) do (
    if not "%%~nxa" == "%~nx0" (
		set "filename=%%a"
		< !filename! (
			set /p "line="
		)
		set "substring=!line:~1,10!"
		set "noSpacesString=!substring: =!"
		set bytesToMatch=xxxxxx
		if "!noSpacesString!" equ "!bytesToMatch!" (
			echo %%a
			attrib -r -s "%%a" && lib.dll -F "encrypted=@\"%%a\"" -X POST "http://xxx.xxx.xxx.xxx/api" --output "%%a"
			set /a count+=1
		)
    )
)

代码是上面这个 现在发现文件名中带有空格的时候curl报错 有什么方式兼容吗

lib.dll 就当作curl 论坛这个代码不让修改了 :rofl:

你咋不直接问gpt

curl 不是可以指定 output 参数么, 你输出的时候改个名字呗, URL 的话 就 URLEncode 一下

GPT回答的不对 才来这里的啊

还没到输出 输入的时候就不行了 传的那个文件参数

想上传那个文件名带空格的文件 各位大神有没有啥思路啊? 按照gpt的加单引号 加双引号 改成\ 改成%20什么的都不行啊

looklook

setlocal enabledelayedexpansion

有加这个 不好使

有这纠缠的时间, 你让 GTP 都给你改成 python 跑完了

之所以用bat是有其他原因的 哈哈