• 让山里娃感受智慧科技乐趣 2019-05-19
  • 香港田径锦标赛飞人夺冠 2019-05-19
  • 诽谤侮辱英烈可追刑责 2019-05-14
  • 图解:十二字“洞见”2017年保险业 2019-04-28
  • 楼市下半年或持续降温 房地产长效机制加速推进 2019-04-28
  • 为何越来越多的日本人开始找兼职? 2019-04-26
  • 人民网评:还老百姓蓝天白云、繁星闪烁 2019-04-26
  • 广州市第十五届人大常委会会议网络直播 2019-04-20
  • “西瓜足迹”瞎掰与“晒的虚荣” 2019-04-20
  • 习近平两会“典”亮新时代 2019-04-07
  • 中国足球,就是笑博士的“责权利平滑对接”改革的必然结果! 2019-04-03
  • 重庆高校陆续公布招生计划、专业设置情况和新政策 2019-04-03
  • 新时代 新气象 新作为 2019-03-30
  • 《中国地方志佛道教文献汇纂》——开辟佛道教研究新领域 2019-03-29
  • 拉萨市墨竹工卡县全力打造“绿色矿山” 2019-03-29
  • 批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
    [批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
    返回列表 发帖

    广东11选五开奖结果查:[文件操作] 【已解决】求助批处理行未空格去除办法

    本帖最后由 kingshui 于 2018-11-14 15:29 编辑

    如题,最近要做系统升级,写了一个备份还原文件的批处理。文件的备份还原基本上没问题的,现在卡在共享盘的还原上。现贴出还原部分代码寻求帮助
     广东十一选五计划软件 www.qe-ar.com 
    1. @echo off
    2. set /p _user=please enter your Domain ID:
    3. set /p _pw=Please enter your Domain PW:
    4. cls
    5. for /f "delims=: tokens=1,2*" %%i in ('for /f "delims=:" %%a in ^('findstr /n "^:setup$" "%~f0"'^) do @more +%%a "%~f0"') do (
    6. for /f "delims=/ tokens=1" %%s in (%%j) do cmdkey add:%%s /user:%_user% /pass:%_pw
    7. net use %%i: "\\%%~pnj" /p:y
    8. )
    9. echo;Done!
    10. exit
    11. :setup
    12. N:\\10.21.119.168\AllDept  
    13. O:\\scnfsvr01\AllDept   
    14. P:\\scnfsvr01\Shared     
    15. S:\\10.21.119.168\Shared   
    16. Z:\\scnfsvr01\Air\Huawei CS
    复制代码
    :setup 后面的盘符信息是用另一个批处理提取的,但是路径后面会有空格。。现在采用的办法效率上太低(有时又很快)通常需要几分钟有时甚至一个多小时都没办法重新映射上去。

    现寻求有经验的朋友来帮忙看能否采用别的办法来去掉路径后的空格。主要是不想生成文件了。

    另外,有时win10 系统使用的时候会出现 more 命令参数过多的提示而没办法取出我的网络驱动器信息,是more的写法上有问题吗? 也试过<%~f0 more +%%a 的办法,还是一样的提示。

    SU上有一个说法是用more /e参数还扩展,但是也没作用。
    1

    评分人数

      • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

    本帖最后由 flashercs 于 2018-11-14 01:59 编辑
    1. @echo off
    2. set /p _user=please enter your Domain ID:
    3. set /p _pw=Please enter your Domain PW:
    4. cls
    5. for /f "delims=:" %%a in ('findstr /in "^:setup$" "%~f0") do set line=%%a
    6. for /f "tokens=1,2* delims=:" %%i in ('more +%line% "%~f0"') do (
    7. for /f "tokens=1 delims=/" %%s in (%%j) do cmdkey add:%%s /user:%_user% /pass:%_pw%
    8.     call :rightTrim "%%j"
    9. net use %%i: "%return%" /p:y
    10. )
    11. echo;Done!
    12. exit /b
    13. :rightTrim
    14. set "str=%~1"
    15. set /a pos=-1
    16. set return=
    17. if not defined str exit /b
    18. if "%str: =%"=="" exit /b
    19. :loop
    20. call set "char=%%str:~%pos%,1%%"
    21. if "%char%"==" " (
    22.     set /a pos-=1
    23.     goto loop
    24. )
    25. if %pos% equ -1 (
    26.     set "return=%str%"
    27. ) else (
    28.     set /a pos+=1
    29.     call set "return=%%str:~0,%pos%%%"
    30. )
    31. exit /b
    32. :setup
    33. N:\\10.21.119.168\AllDept  
    34. O:\\scnfsvr01\AllDept   
    35. P:\\scnfsvr01\Shared     
    36. S:\\10.21.119.168\Shared   
    37. Z:\\scnfsvr01\Air\Huawei CS
    复制代码

    TOP

    提取盘符的那个批处理不能修改吗?
    【扫描二维码捐助论坛的朋友请留言注明论坛账号】//bbs.bathome.net/thread-10403-1-1.html
    【批处理在线视频分享】//bbs.bathome.net/thread-31727-1-1.html
    【微信公众号、微信群、QQ群】//bbs.bathome.net/thread-3473-1-1.html

    TOP

    回复 2# flashercs


       
    伸手党简单测试了下没用,先把in 里的for拿出来到外面试下了,效率问题可能是共享路径无法到达导致的。
    先简单处理一下用着先,忙完再看看

    先谢谢。

    TOP

    回复 3# Batcher
    1. @echo off
    2. for /f "delims=:" %%i in ('findstr /n "^:netdrive$" "%~f0"') do more ++%%i "%~f0" >.\backup\%username%.cmd
    3. for /f "tokens=2*" %%i in ('net use^|find ":"') do (
    4. setlocal enabledelayedexpansion
    5. set dr=%%j
    6. set dr=!dr:Microsoft Windows Network=!
    7. echo %%i!dr!
    8. endlocal)>>.\backup\%username%.cmd
    9. msg * Backup done!!
    10. exit /b
    11. :netdrive
    12. @echo off & title Network Driver Re-Map Tools for GWM/ Network Driver Re-Map is in progress...
    13. set /p _user=please enter your Domain ID:
    14. set /p _pw=Please enter your Domain PW:
    15. cls
    16. for /f "delims=: tokens=1,2*" %%a in ('for /f "delims=:" %%i in ^('findstr /n "^:setup$" "%~f0"'^) do @more ++%%i "%~f0"') do (
    17. for /f "delims=\ tokens=1" %%x in ("%%b") do cmdkey /add:%%x /user:schenker_sc\%_user% /pass:%_pw%
    18. net use %%a: "\\%%~pnb" /p:y /y
    19. )
    20. msg * Done
    21. explorer
    22. exit
    23. :setup
    复制代码
    帮忙看看:lol
    记得当时提取盘符也纠结了好久,当时只做记录没有再用来还原就没再改了。

    TOP

    回复 5# kingshui


    第3行到第8行改成这样试试:
    1. (for /f "tokens=2*" %%i in ('net use^|find ":"') do (
    2.     setlocal enabledelayedexpansion
    3.     set dr=%%j
    4.     set dr=!dr:Microsoft Windows Network=!
    5.     for /f "tokens=*" %%a in ("%%i!dr!") do (
    6.         echo %%~fa
    7.     )
    8.     endlocal
    9. ))>.\backup\%username%.cmd
    复制代码
    【扫描二维码捐助论坛的朋友请留言注明论坛账号】//bbs.bathome.net/thread-10403-1-1.html
    【批处理在线视频分享】//bbs.bathome.net/thread-31727-1-1.html
    【微信公众号、微信群、QQ群】//bbs.bathome.net/thread-3473-1-1.html

    TOP

    回复 6# Batcher


        :handshake 非常好,谢谢了。我没想到从源头上来解决。。这样省的时间会好多。:lol

    TOP

    返回列表
  • 让山里娃感受智慧科技乐趣 2019-05-19
  • 香港田径锦标赛飞人夺冠 2019-05-19
  • 诽谤侮辱英烈可追刑责 2019-05-14
  • 图解:十二字“洞见”2017年保险业 2019-04-28
  • 楼市下半年或持续降温 房地产长效机制加速推进 2019-04-28
  • 为何越来越多的日本人开始找兼职? 2019-04-26
  • 人民网评:还老百姓蓝天白云、繁星闪烁 2019-04-26
  • 广州市第十五届人大常委会会议网络直播 2019-04-20
  • “西瓜足迹”瞎掰与“晒的虚荣” 2019-04-20
  • 习近平两会“典”亮新时代 2019-04-07
  • 中国足球,就是笑博士的“责权利平滑对接”改革的必然结果! 2019-04-03
  • 重庆高校陆续公布招生计划、专业设置情况和新政策 2019-04-03
  • 新时代 新气象 新作为 2019-03-30
  • 《中国地方志佛道教文献汇纂》——开辟佛道教研究新领域 2019-03-29
  • 拉萨市墨竹工卡县全力打造“绿色矿山” 2019-03-29