• 习近平要求把这项工作作为重大政治任务 2019-03-24
  • 充分发挥重要平台和有效载体作用 以特色小镇建设促进乡村振兴 2019-03-18
  • 脸每天都洗,但你真的洗对了吗? 2019-03-18
  • 港珠澳大桥珠海口岸停车场智慧停车系统启用在即 2019-03-14
  • 以实际行动诠释忠诚 以实干实政维护核心 2019-03-14
  • 天津市津南区严打校园周边“五毛食品” 2019-03-11
  • 设计众议院:新时代消费观念造就的全新第八代凯美瑞 2019-03-11
  • 补时绝杀!英格兰2-1突尼斯 凯恩梅开二度 2019-03-09
  • 我和党报党网有个约会在线征集活动 2019-03-09
  • 吃饭刷脸 还有多远? 2019-03-07
  • 中共中央文件选集一(1921―1925) 2019-03-05
  • 《中国气候变化蓝皮书》:年平均气温显著上升 2019-03-05
  • 这样的银行就应该倒闭 2019-03-01
  • 有兴趣的朋友可以去看咱的《机器人普及时代的生产关系》…… 2019-03-01
  • 中国欲举办2030年世界杯?网友调侃:真可笑 2019-02-26
  • 批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]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-03-24
  • 充分发挥重要平台和有效载体作用 以特色小镇建设促进乡村振兴 2019-03-18
  • 脸每天都洗,但你真的洗对了吗? 2019-03-18
  • 港珠澳大桥珠海口岸停车场智慧停车系统启用在即 2019-03-14
  • 以实际行动诠释忠诚 以实干实政维护核心 2019-03-14
  • 天津市津南区严打校园周边“五毛食品” 2019-03-11
  • 设计众议院:新时代消费观念造就的全新第八代凯美瑞 2019-03-11
  • 补时绝杀!英格兰2-1突尼斯 凯恩梅开二度 2019-03-09
  • 我和党报党网有个约会在线征集活动 2019-03-09
  • 吃饭刷脸 还有多远? 2019-03-07
  • 中共中央文件选集一(1921―1925) 2019-03-05
  • 《中国气候变化蓝皮书》:年平均气温显著上升 2019-03-05
  • 这样的银行就应该倒闭 2019-03-01
  • 有兴趣的朋友可以去看咱的《机器人普及时代的生产关系》…… 2019-03-01
  • 中国欲举办2030年世界杯?网友调侃:真可笑 2019-02-26