无忧启动论坛

标题: 【已解决】求助:去文件名空格.bat,命令语法不正确。 [打印本页]

作者: yyz2191958    时间: 2023-9-15 23:48
标题: 【已解决】求助:去文件名空格.bat,命令语法不正确。
本帖最后由 yyz2191958 于 2023-9-17 09:18 编辑

完美解决了:
::【文件名去空格(本目录全部)】版本1:
@echo off
cls
echo.
echo.
echo                         【文件名去空格(本目录全部)】?
pause>nul 2>nul
cls
set "str= "
for /f "delims=" %%i in ('dir /b *.*') do (
set "var=%%i" & Setlocal Enabledelayedexpansion & ren "!var!" "!var:%str%=!" & endlocal)
exit
版本2
@echo off

::【文件名去空格】【结尾不能有:exit 】
echo.
echo.
echo                         【文件名去空格(本目录全部)】?
pause>nul 2>nul
for %%f in (*) do call :r %%f

:r
set f=%* & ren "%f%" %f: =%
********************************************

原来的问题
::【去文件名空格】
@echo off
Setlocal Enabledelayedexpansion & set "str= "
for /f "delims=" %%i in ('dir /b *.*') do (set "var=%%i" & ren "%%i" "!var:%str%=!")
pause>nul 2>nul
*********************************************
运行后提示:命令语法不正确。(实际上:除了含!号的文件名不能够去空格外,普通文件名还是能够去空格的)

这是为什么?

+++++++++++++++++++++
原因已经查到了:是因为文件夹里面的文件名,有一个文件名字是!号开头的

就是不知道,应该怎样解决?谢谢









作者: yyz2191958    时间: 2023-9-16 00:57
原因已经查到了:是因为文件夹里面的文件名,有一个文件名字是!号开头的

就是不知道,应该怎样解决?谢谢
作者: martin313    时间: 2023-9-16 06:44
路过
帮顶一下
作者: tzxinqing    时间: 2023-9-16 10:32
能请教下去空格的意义吗?
作者: yyz2191958    时间: 2023-9-16 11:41
tzxinqing 发表于 2023-9-16 10:32
能请教下去空格的意义吗?

有一些场景需要
作者: wxinchun92    时间: 2023-9-16 12:15
不需要重命名,将文件名变量中空格替换成%20即可
作者: nttwqz    时间: 2023-9-16 12:16
tzxinqing 发表于 2023-9-16 10:32
能请教下去空格的意义吗?

有的软件是不支持含空格及中文的路径的,特别是哪些开发已经找不到的软件。
作者: yyz2191958    时间: 2023-9-16 12:28
本帖最后由 yyz2191958 于 2023-9-16 12:38 编辑
wxinchun92 发表于 2023-9-16 12:15
不需要重命名,将文件名变量中空格替换成%20即可

我没有一点基础,能够直接给完整代码吗?
作者: martin313    时间: 2023-9-16 12:30

恭喜解决了
作者: wxinchun92    时间: 2023-9-16 12:39
本帖最后由 wxinchun92 于 2023-9-16 12:41 编辑
yyz2191958 发表于 2023-9-16 12:28
我没有一点基础,能够直接给完整代码吗?
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p a=请输入:
  4. for /f "delims=" %%i in ("%a%") do (
  5.         set aa=%%i
  6.         set aa=!aa: =%%20!
  7.         set a=!aa!
  8. )
  9. echo. %a%
  10. pause
复制代码

作者: yyz2191958    时间: 2023-9-16 12:40
wxinchun92 发表于 2023-9-16 12:39

我试一试先 谢谢
作者: yyz2191958    时间: 2023-9-16 12:46
wxinchun92 发表于 2023-9-16 12:39

输入什么?
作者: wxinchun92    时间: 2023-9-16 12:52
yyz2191958 发表于 2023-9-16 12:46
输入什么?

带空格的变量啊
作者: nathan6498    时间: 2023-9-16 16:06
学习学习
作者: yyz2191958    时间: 2023-9-16 18:19
本帖最后由 yyz2191958 于 2023-9-16 18:22 编辑
wxinchun92 发表于 2023-9-16 12:52
带空格的变量啊

能不能不需要输入?放到文件夹运行,就直接去除本目录里面文件名的空格?
作者: szwp    时间: 2023-9-16 18:38
输入是学习,并不是改名
作者: yyz2191958    时间: 2023-9-16 18:42
szwp 发表于 2023-9-16 18:38
输入是学习,并不是改名

我不明白 惭愧
作者: wxinchun92    时间: 2023-9-16 19:07
yyz2191958 发表于 2023-9-16 18:42
我不明白 惭愧

你应该不需要了,我也是刚学习。网址URL的空格是%20,其他的不是
作者: yyz2191958    时间: 2023-9-16 19:14
wxinchun92 发表于 2023-9-16 19:07
你应该不需要了,我也是刚学习。网址URL的空格是%20,其他的不是

我也是学习
作者: yyz2191958    时间: 2023-9-16 19:15
wxinchun92 发表于 2023-9-16 19:07
你应该不需要了,我也是刚学习。网址URL的空格是%20,其他的不是

原来的哪个已经哪个使用

我是想看看,有没有更加简单的代码
作者: szwp    时间: 2023-9-17 08:06
for %%f in (*) do call :r %%f
pause
:r
set f=%*
ren "%f%" %f: =%
作者: yyz2191958    时间: 2023-9-17 08:18
szwp 发表于 2023-9-17 08:06
for %%f in (*) do call :r %%f
pause
:r

我试一试先 谢谢
作者: yyz2191958    时间: 2023-9-17 08:26
本帖最后由 yyz2191958 于 2023-9-17 08:49 编辑
szwp 发表于 2023-9-17 08:06
for %%f in (*) do call :r %%f
pause
:r

成功了  非常感谢

作者: szwp    时间: 2023-9-17 08:39
yyz2191958 发表于 2023-9-17 08:26
普通文件名实用成功

文件名有!号的不行

将结果截屏
作者: yyz2191958    时间: 2023-9-17 08:50
本帖最后由 yyz2191958 于 2023-9-17 08:51 编辑
szwp 发表于 2023-9-17 08:39
将结果截屏

经过再次测试,成功了  非常感谢(原来不行,可能是我加了回显和exit)

作者: szwp    时间: 2023-9-17 08:57
yyz2191958 发表于 2023-9-17 08:50
经过再次测试,成功了  非常感谢(原来不行,可能是我加了回显和exit)

啥都没动,怎么会原来的就不行了呢。
作者: yyz2191958    时间: 2023-9-17 09:04
szwp 发表于 2023-9-17 08:57
啥都没动,怎么会原来的就不行了呢。

问题发现了:
1.如果按照你的代码,啥也不动————成功
2..如果在你的代码的最后加  exit ———不成功
*************************************
为什么不能够在最后加  exit?

谢谢
作者: szwp    时间: 2023-9-17 09:05
yyz2191958 发表于 2023-9-17 09:04
问题发现了:
1.如果按照你的代码,啥也不动————成功
2..如果在你的代码的最后加  exit ———不成 ...

将结果截屏才能知道原因
作者: szwp    时间: 2023-9-17 09:06
估计加错位置了,将pause改成exit
作者: yyz2191958    时间: 2023-9-17 09:10
szwp 发表于 2023-9-17 09:06
估计加错位置了,将pause改成exit

我将 pause 删除了
作者: nttwqz    时间: 2023-9-17 10:14
改名建议使用专业软件
菲菲更名宝贝
作者: yyz2191958    时间: 2023-9-17 10:32
nttwqz 发表于 2023-9-17 10:14
改名建议使用专业软件
菲菲更名宝贝

谢谢
作者: 无犹启动    时间: 2023-10-12 21:25
学习学习
作者: yyz2191958    时间: 2023-10-12 21:32
无犹启动 发表于 2023-10-12 21:25
学习学习

加油
作者: rbwrbw    时间: 2023-10-14 13:23
慢慢来,一点点调
作者: yyz2191958    时间: 2023-10-14 17:36
rbwrbw 发表于 2023-10-14 13:23
慢慢来,一点点调

急不得




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3