我认为应该是一个简单的问题需要解决,但不知道如何实现它,因为有人已经帮助我使用下面的代码。
我正在运行以下代码来重命名我的文件
setlocal enabledelayedexpansion
for /f %%a in ('dir *RETOUCH* /b') do (
set "name=%%a"&set "name=!name:.RETOUCH=!"
ren "%%a" "!name!"
)
我需要它来处理这个目录
"C:\Users\Public\Desktop\Uploads\%studiosetnumber%\%ymd%\"
目前它只能在与文件相同的位置工作。
答案 0 :(得分:1)
以下是您的任务的批处理代码,并进行了一些简化:
@echo off
setlocal EnableDelayedExpansion
for %%a in ("C:\Users\Public\Desktop\Uploads\%studiosetnumber%\%ymd%\*RETOUCH*") do (
set "name=%%~nxa"
set "name=!name:.RETOUCH=!"
ren "%%~a" "!name!"
)
endlocal
要了解其工作原理,请打开命令提示符窗口,执行以下命令并阅读每个命令的帮助输出:
for /?
set /?
ren /?
答案 1 :(得分:1)
你可以采取多种方式:
setlocal enabledelayedexpansion
Pushd "C:\Users\Public\Desktop\Uploads\%studiosetnumber%\%ymd%\"
for /f %%a in ('dir *RETOUCH* /b') do (
set "name=%%a"&set "name=!name:.RETOUCH=!"
ren "%%a" "!name!"
)
popd
setlocal enabledelayedexpansion
cd /d "C:\Users\Public\Desktop\Uploads\%studiosetnumber%\%ymd%\"
for /f %%a in ('dir *RETOUCH* /b') do (
set "name=%%a"&set "name=!name:.RETOUCH=!"
ren "%%a" "!name!"
)
setlocal enabledelayedexpansion
set "myDir=C:\Users\Public\Desktop\Uploads\%studiosetnumber%\%ymd%\"
for /f %%a in ('dir "%myDir%" *RETOUCH* /b') do (
set "name=%%a"&set "name=!name:.RETOUCH=!"
ren "%%a" "!name!"
)