Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file .bat重命名文件名删除前x个字符和最后x个字符_Batch File - Fatal编程技术网

Batch file .bat重命名文件名删除前x个字符和最后x个字符

Batch file .bat重命名文件名删除前x个字符和最后x个字符,batch-file,Batch File,我需要重命名某个文件夹中的文件,例如,它需要通过删除我设置的第一个x字符数和最后一个x字符数来重命名一个文件夹中的文件名。 有人能告诉我怎么做吗?给你: @echo off setlocal enabledelayedexpansion set X=3 set FOLDER_PATH=. pushd %FOLDER_PATH% for %%f in (*) do if %%f neq %~nx0 ( set "filename=%%~nf" set "filename=!file

我需要重命名某个文件夹中的文件,例如,它需要通过删除我设置的第一个x字符数和最后一个x字符数来重命名一个文件夹中的文件名。 有人能告诉我怎么做吗?

给你:

@echo off
setlocal enabledelayedexpansion
set X=3
set FOLDER_PATH=.
pushd %FOLDER_PATH%
for %%f in (*) do if %%f neq %~nx0 (
    set "filename=%%~nf"
    set "filename=!filename:~%X%,-%X%!"
    ren "%%f" "!filename!%%~xf"
)
popd

此脚本进入文件夹(由
folder\u PATH
指定),并从每个文件的文件名中修剪第一个和最后一个
X
字符(保留其扩展名不变)。根据需要修改
X
FOLDER\u PATH

如果您只是想从命令行中寻找一个有用的工具来执行奇特的重命名操作,请查看此Perl脚本(在批处理文件中执行此操作非常难看且容易出错):如果我们只想删除文件夹中所有扩展名为.mdb的文件的最后X个字符,该怎么办?@NT01然后将行
set“filename=!filename:~%X%,-%X%!”
(在循环内)替换为:
set“filename=!filename:~,-%X%!”