[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 移动文件的bat代码逻辑上应该没问题 不知到为什么运行不了

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "des=target_mp4"
  4. if not exist "%des%"
  5. (
  6. mkdir "%des%"
  7. )
  8. for /r %%d in (.) do
  9. (
  10. if /i not "%%~fd"=="%~dp0%des%\"
  11. (
  12. echo  enter %%d
  13. for %%f in ("%%d\*.mp4") do
  14. (
  15. if exist %%f
  16. (
  17. move "%%f" "%des%\"
  18. )
  19. )
  20. )
  21. )
  22. echo MP4 files have been moved to %des%
  23. pause
复制代码

本帖最后由 aloha20200628 于 2024-7-31 10:40 编辑

回复 1# mdzzx

简言之》
   一。复合语块如 if 的判断表达式之后不能断行,其后须有左括号(断行前),或另一个命令(语块),例如
  1. if not exist "abc" mkdir "abc"
  2. ::或
  3. if not exist "abc" (
  4.    mkdir "abc"
  5. )
复制代码
二。复合语块如 for 的 do 之后不能断行,其后须有左括号(断行前),或另一个命令(语块),例如
  1. for /r %%d in (.) do echo,%%d
  2. ::或
  3. for /r %%d in (.) do (
  4.     echo,%%d
  5. )
复制代码

TOP

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. @echo off
  2. cd /d "%~dp0"
  3. set "des=target_mp4"
  4. mkdir "%des%" 2>nul
  5. set "_cd=%cd%\"
  6. for /r /d %%d in (.) do (
  7. if /i "%%~fd" neq "%_cd:\\=\%%des%" (
  8. move "%%~fd\*.mp4" "%des%\" 2>nul
  9. )
  10. )
  11. pause
复制代码
bat小白,请多指教!谢谢!

TOP

返回列表