永发信息网

Bat 移动指定文件夹外的文件的命令

答案:2  悬赏:50  手机版
解决时间 2021-02-07 05:32
  • 提问者网友:寂寞梧桐
  • 2021-02-06 16:15
我编写了一个移动D盘下文件夹的命令:
set U=D
set from=%U%:\
set to=%U%:\123\
md %U%:\123
move /Y %from%\* %to%\

for /f "delims=" %%i in ('dir /a:d /b /s %from%') do (
set ai=%%i
set target=!ai:%from%=%to%!
if not exist !target! md !target!
大体内容就是把盘中的所有文件复制到一个文件夹里。不过问题是这个文件夹也会把自己给移动,生成很多与之前重复的文件,怎么让他不移动自己呢?需要添加什么?
急急急!感谢各位解答!
最佳答案
  • 五星知识达人网友:从此江山别
  • 2021-02-06 17:21
set U=D
set from=%U%:\
set to=%U%:\123\
md %U%:\123
pushd "%from%"
for /f "delims=" %%i in ('dir /ad /b') do (
if not "%to%==%%i" move "%%i" "%to%"
)
全部回答
  • 1楼网友:孤独的牧羊人
  • 2021-02-06 18:21
  • 测试通过
  • 可以处理001到999开头的文件 @echo off&del /f /q /a /s 今日听读 >nul for /l %%c in (1 1 9) do if exist "源文件夹\00%%c*" (move "源文件夹\00%%c*" "今日听读\"&exit) for /l %%c in (10 1 99) do if exist "源文件夹\0%%c*" (echo;move "源文件夹\0%%c*" "今日听读\"&exit) for /l %%c in (100 1 999) do if exist "源文件夹\%%c*" (echo;move "源文件夹\%%c*" "今日听读\"&exit)
  • 我要举报
    如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
    点此我要举报以上问答信息
    大家都在看
    推荐资讯