Board logo

标题: [其他] 批处理如何删除路径末尾的反斜杠“\” [打印本页]

作者: yunyan100    时间: 2018-8-25 18:51     标题: 批处理如何删除路径末尾的反斜杠“\”

本帖最后由 pcl_test 于 2018-8-26 09:01 编辑

批处理for命令的路径如何末尾有删除"\"
感谢这个好论坛,批处理知识无限
这是文件时的路径,但有末尾有"\",
  1. (for /f "delims=" %%a in ('dir /b /a-d /s "%pa%\*.*"') do set "pa=%%~dpa"&goto :uuac) 2>nul
复制代码
  1. set "pa=%pa:~,-1%"
复制代码
这里想去最尾"\",有的"\"有时才好,没有"\"的时也删除,这好不

"F:\Downloads\Baiduy\(444\"   只改成  "F:\Downloads\Baiduy\(444"  

"F:\Downloads\Baiduy\(444"   这样不行 "F:\Downloads\Baiduy\(44"
作者: /zhqsystem/zhq    时间: 2018-8-25 19:44

你直接获取文件夹不就行了
作者: yunyan100    时间: 2018-8-25 19:49

回复 2# /zhqsystem/zhq

要看文件夹中是不是有文件内容,比如exe,txt,
作者: /zhqsystem/zhq    时间: 2018-8-25 20:12

回复 3# yunyan100

for /f "delims=" %%a in ('dir/b/a-d/s "%pa%\*.*"') do for /f "delims=" %%a in ("%%~dpa..")do echo,%%~fa
作者: Batcher    时间: 2018-8-25 20:39

可以先用 if 命令判断一下最后一个字符是不是 \ 然后再 set
作者: yunyan100    时间: 2018-8-25 20:40

回复 4# /zhqsystem/zhq
我这的这个路径有文件,所有是对的,(444
  1. F:\Downloads\Baiduy\(444\
复制代码
这个路径一样,但不是正常的路径,不是(444
  1. F:\Downloads\Baiduy
复制代码

作者: yunyan100    时间: 2018-8-25 20:45

回复 5# Batcher
en,我看看,还是搞不定,要请教下
作者: yunyan100    时间: 2018-8-25 22:39

[quote]可以先用 if 命令判断一下最后一个字符是不是 \ 然后再 set
Batcher 发表于 2018-8-25 20:39 [/quote
findstr我用了下,不常用,麻烦高手,谢谢
作者: Batcher    时间: 2018-8-25 23:54

回复 8# yunyan100


    不需要findstr啊,if "%pa:~-1%" equ "\"
作者: yunyan100    时间: 2018-8-26 08:47

回复 9# Batcher
又学到一手了,谢谢,我是业余
作者: /zhqsystem/zhq    时间: 2018-8-26 20:42

本帖最后由 /zhqsystem/zhq 于 2018-8-26 20:44 编辑

回复 6# yunyan100


    我只是帮你返回了上一级目录,你需要判断有没有你要的文件例如: if /i not "%%~fa\*.exe\" if /i "%%~fa\*.exe"
  你还可以直接dir/a-d/s/b "*.exe" "*.txt" 没必要判断什么,DIR自动列出
作者: yunyan100    时间: 2018-8-26 23:03

回复  yunyan100


    我只是帮你返回了上一级目录,你需要判断有没有你要的文件例如: if /i not "%% ...
/zhqsystem/zhq 发表于 2018-8-26 20:42


谢谢,版主的解决了




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