标题: [文本处理] [已解決] 讓 bat 檔案在 UNC 路徑下運行 [打印本页]
作者: nickl 时间: 2013-5-28 15:17 标题: [已解決] 讓 bat 檔案在 UNC 路徑下運行
本帖最后由 nickl 于 2013-5-29 14:47 编辑
各位大大,
小弟有個問題想請教, 小弟想要有條件地將大量檔案移動到不同資料夾
問題在之前已有大俠幫忙解決了.
http://bathome.l3.wuyou.com/viewthread.php?tid=24119
代碼為- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=*" %%a in ('dir /b /a-d *AA*.*') do (
- set "str=%%a"
- set "files=!str:~,5!"
- for /f "tokens=*" %%b in ('dir /b /ad "!files!*" 2^>nul') do set "files=%%b"
- md "!files!" 2>nul
- move "%%a" "!files!"
-
- )
- echo sorted
- pause
复制代码
小弟現在的問題是, 有辦法讓此代碼在 unc 路徑執行嗎?
假設我的路徑是 \\192.111.1.1\abc\nickl\sort
小弟試過用 set + " ", 但都不行, 不知是否那裡出錯
有大大可以幫忙嗎? 謝謝各位
作者: Batcher 时间: 2013-5-28 16:31
请把你测试的完整代码贴出来看看
作者: nickl 时间: 2013-5-28 16:48
回复 2# Batcher
如下:- @echo off&setlocal enabledelayedexpansion
- set site="\\192.111.1.1\abc\nickl\sort"
- for /f "tokens=*" %%a in ('dir /b /a-d "%site%" *HK*.*') do (
- set "str=%%a"
- set "files=!str:~,5!"
- for /f "tokens=*" %%b in ('dir /b /ad "%site%" "!files!*" 2^>nul') do set "files=%%b"
- md "!files!" 2>nul
- move "%%a" "!files!"
-
- )
- echo The files have already sorted
- pause
复制代码
謝版大
作者: Batcher 时间: 2013-5-28 18:27
回复 3# nickl
把@echo off删掉,看看是哪一行在报错。
作者: plp626 时间: 2013-5-28 23:19
不明真相,
试试
subst Z: "\\192.111.1.1\abc\nickl\sort"
然后访问你的Z:
作者: cutebe 时间: 2013-5-28 23:38
move "%%a" "!files!"
其中%%a 和 files 都没有具体的路径,只有名字
不知道你是想从UNC复制到本地呢,还是反过来
作者: nickl 时间: 2013-5-29 09:07
回复 6# cutebe
我只是想在unc 路徑中移動檔案
如由 \\192.111.1.1\abc\nickl\sort 移動至 \\192.111.1.1\abc\nickl\sort\01
作者: nickl 时间: 2013-5-29 09:08
回复 4# Batcher
一運行,只閃了一下, 就消失掉了...
作者: Batcher 时间: 2013-5-29 11:11
回复 8# nickl
删除代码中的@echo off
代码保存为C:\test.bat
开始
运行
cmd
C:\test.bat
作者: cutebe 时间: 2013-5-29 11:33 标题: 根据理解的意思大概是这样子,测试好后去掉ECHO,
本帖最后由 cutebe 于 2013-5-29 13:00 编辑
- @echo off&setlocal enabledelayedexpansion
- set "site=\\192.111.1.1\abc\nickl\sort"
- for /f "DELIMS=" %%a in ('dir /b /a-d "%site%\*HK*.*"') do (
- set "str=%%a"
- set "files=!str:~,5!"
- for /f "DELIMS=" %%b in ('dir /b /ad "%site%\!files!*" 2^>nul') do set "files=%%b"
- ECHO,md "%SITE%\!files!" 2>nul
- ECHO,move "%SITE%\%%a" "%SITE%\!files!"
- )
- echo The files have already sorted
- pause
复制代码
作者: nickl 时间: 2013-5-29 14:47
cutebe 发表于 2013-5-29 11:33
成功了, 感謝
原來是引用路徑的問題, 每次也要引用
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |