返回列表 发帖
回复 15# forfiles


    试了一下,原来是这样,感谢!!

TOP

本帖最后由 FOR 于 2012-7-3 01:43 编辑
@echo off
for /f "delims=" %%i in ('dir/b/s/a-d') do (
set "str=%%i"
setlocal enabledelayedexpansion
set "str=!str:*%cd%=!"
for /f "tokens=1 delims=\" %%a in ("!str!") do (
if not "%%i"=="!cd!\%%~nxi" move "%%i" "!cd!\%%a"
)
endlocal
)
pauseCOPY

TOP

回复 17# FOR
移动了         1 个文件。
移动了         1 个文件。
移动了         1 个文件。
移动了         1 个文件。
移动了         1 个文件。
移动了         1 个文件。
移动了         1 个文件。
移动了         1 个文件。
移动了         1 个文件。
移动了         1 个文件。
移动了         1 个文件。
请按任意键继续. . .COPY
运行后显示以上内容,但文件实际未移动...
但感谢帮助!!

TOP

多打了个括弧,你那里没提示“以达到最大递归层”吗?
@echo off
for /f "delims=" %%i in ('dir/b/s/a-d') do (
        set "str=%%i"
        setlocal enabledelayedexpansion
        set "str=!str:*%cd%=!"
        for /f "tokens=1 delims=\" %%a in ("!str!") do (
                if not "%%i"=="!cd!\%%~nxi"  move "%%i" "!cd!\%%a"
        )
        endlocal
)
pauseCOPY

TOP

回复 19# FOR


   没有,试了一下,还是不行...

TOP

回复 13# comicguests


无语,没见过这么执拗的人。

TOP

@echo off
for /f "delims=" %%i in ('dir /a-d/b/s') do move "%%a"
pauseCOPY

TOP

19楼代码我实际测试是成功的。

TOP

再试试这个
@echo off&set /a n=1
call :Loop "%cd%"
:loop
for /f "tokens=1* delims=\" %%i in ("%~1") do (
set /a n+=1
if not "%%j"=="" call :Loop "%%j"
)
for /f "delims=" %%I in ('dir/b/s/a-d') do (
for /f "tokens=%n%* delims=\" %%a in ("%%I") do (
if not "%%b"=="" move "%%I" "%cd%\%%a"
)
)
pauseCOPY

TOP

回复 22# powerbat
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
请按任意键继续. . .COPY
汇报结果!
执拗么...我倒是感觉自己性格不好...

TOP

回复 24# FOR


    多次劳烦您,真是十分感谢,但还是只显示移动,但没有移动...是我系统问题么?
win732位旗舰版
ps:实在不行就只能放弃了...

TOP

本帖最后由 FOR 于 2012-7-4 12:53 编辑

我也是 win7 32位旗舰版
19、24楼的代码我这里都能成功
12楼的代码能正常运行,怎么24楼的就会不行呢??

TOP

所以我就怀疑是不是系统的个别差异...

TOP

返回列表