标题: [文件操作] 移动文件的bat代码逻辑上应该没问题 不知到为什么运行不了 [打印本页]
作者: mdzzx 时间: 2024-7-30 17:12 标题: 移动文件的bat代码逻辑上应该没问题 不知到为什么运行不了
- @echo off
- setlocal enabledelayedexpansion
- set "des=target_mp4"
-
- if not exist "%des%"
- (
- mkdir "%des%"
- )
-
- for /r %%d in (.) do
- (
- if /i not "%%~fd"=="%~dp0%des%\"
- (
- echo enter %%d
- for %%f in ("%%d\*.mp4") do
- (
- if exist %%f
- (
- move "%%f" "%des%\"
- )
- )
- )
- )
-
- echo MP4 files have been moved to %des%
- pause
复制代码
作者: 77七 时间: 2024-7-30 19:52
- @echo off
- cd /d "%~dp0"
- set "des=target_mp4"
- mkdir "%des%" 2>nul
- set "_cd=%cd%\"
- for /r /d %%d in (.) do (
- if /i "%%~fd" neq "%_cd:\\=\%%des%" (
- move "%%~fd\*.mp4" "%des%\" 2>nul
- )
- )
- pause
复制代码
作者: Batcher 时间: 2024-7-30 22:21
回复 1# mdzzx
http://bbs.bathome.net/thread-31727-1-1.html
作者: aloha20200628 时间: 2024-7-31 10:34
本帖最后由 aloha20200628 于 2024-7-31 10:40 编辑
回复 1# mdzzx
简言之》
一。复合语块如 if 的判断表达式之后不能断行,其后须有左括号(断行前),或另一个命令(语块),例如- if not exist "abc" mkdir "abc"
- ::或
- if not exist "abc" (
- mkdir "abc"
- )
复制代码
二。复合语块如 for 的 do 之后不能断行,其后须有左括号(断行前),或另一个命令(语块),例如- for /r %%d in (.) do echo,%%d
- ::或
- for /r %%d in (.) do (
- echo,%%d
- )
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |