我在一个文件夹中有一个文件列表。我希望它们重命名并移动到另一个文件夹中。我希望从文件名中删除字符-
。
例如,如果文件是
Some-file-name.jpeg
应该是
Some file name.jpeg
并移动到我选择的文件夹中。
对于知道批次的人来说非常简单。
答案 0 :(得分:3)
试试这个:
@echo off
setlocal enabledelayedexpansion
set source=Source Directory
set dest=Destination Directory
for %%a in ("%source%\*") do (
set file=%%~nxa
set file=!file:-= !
move /y "%%a" "%dest%\!file!"
)>nul
答案 1 :(得分:1)
您可以使用文件名中的“ - ”循环遍历当前目录中的所有文件。
如果当前目录包含以下文件:
文件名中带有“ - ”的所有文件将被复制到当前目录中的“target”文件夹:
所以目标目录将包含
@echo off
setlocal enabledelayedexpansion
rem ------set the name of the target directory---------------------
set /P target="Enter Destination Folder: "
set /a count=0
rem ------loop through all the filesnames in current directory containing "-" ---------------------
for %%i in ("%cd%\*-*") do (
echo %%i
set filename=%%~ni
rem ------Move to target directory and rename ---------------------
move /y "%%i" "%target%\!filename!">NUL
ren "%target%\!filename!" "!filename:-= !"
set /a count=count+1
)
echo.
echo Moved %count% files