需要我的脚本中的重命名功能才能使用目录脚本所在的特定目录

Need my renaming function in my script to work with a specific directory other than directory script is located

我有一个我认为应该解决的简单问题,但不知道如何实现它,因为有人已经用下面的代码帮助了我。

我运行下面的代码重命名我的文件

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%\"

目前它只能在与文件相同的位置使用。

这是您的任务的批处理代码,经过一些简化:

@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

要了解其工作原理,请打开命令提示符 window,执行以下命令并阅读每个命令的帮助输出:

  • for /?
  • set /?
  • ren /?

您可以通过多种方式做到这一点:

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!"
  )