Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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
Cmd 在命令提示下批量重命名包含下划线的文件_Cmd_Command Prompt_Batch Processing_File Rename_Batch Rename - Fatal编程技术网

Cmd 在命令提示下批量重命名包含下划线的文件

Cmd 在命令提示下批量重命名包含下划线的文件,cmd,command-prompt,batch-processing,file-rename,batch-rename,Cmd,Command Prompt,Batch Processing,File Rename,Batch Rename,我想在命令提示符下的文件夹中将一批名为example_P1.csv的文件重命名为example.csv 我如何做到这一点 我无法使用以下命令获得任何成功: ren *_P1.csv *.csv 我想从所有这些文件中删除_P1 有什么帮助吗 您不能通过简单的重命名来实现这一点。请尝试以下方法: @echo off setlocal EnableDelayedExpansion for %%f in (*_P1.csv) do ( set "basename=%%~nf" ren "%

我想在命令提示符下的文件夹中将一批名为example_P1.csv的文件重命名为example.csv

我如何做到这一点

我无法使用以下命令获得任何成功:

ren *_P1.csv *.csv
我想从所有这些文件中删除_P1


有什么帮助吗

您不能通过简单的
重命名来实现这一点。请尝试以下方法:

@echo off

setlocal EnableDelayedExpansion

for %%f in (*_P1.csv) do (
  set "basename=%%~nf"
  ren "%%~ff" "!basename:~0,-3!%%~xf"
)

+1,但名称中的多个位置可能会出现
\u P1
。最好使用
“!basename:~-3!%%~xf”
。如果任何名称包含
,则还需要在循环内切换延迟扩展的开/关字符。