1

我在一个文件夹中有大约 600 个文件,我需要将它们从小写转换为大写。我无法在我的机器上安装任何应用程序,因为我们的 IT 不允许,因此,我要么必须在 powershell、CMD 或 VB 中安装。

示例文件:

dog_123.csv 需要转换为 DOG_123.csv

提前致谢。

4

3 回答 3

7

在 PowerShell 中:

Get-ChildItem | Rename-Item -NewName { $_.Basename.ToUpper() + $_.Extension }

或更短:

ls | ren -n { $_.Basename.ToUpper() + $_.Extension }
于 2013-07-19T16:39:40.363 回答
2

批量:

@ECHO OFF
SETLOCAL
FOR %%n IN (*) DO ECHO "%%n"|FINDSTR /L "! ^" >nul&IF ERRORLEVEL 1 (
 SET "name=%%~nxn"
 SETLOCAL enabledelayedexpansion
 FOR %%a IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
  ) DO SET "name=!name:%%a=%%a!"
 ECHO REN "%%~fn" "!name!"
 endlocal
)

GOTO :EOF

注意:不会重命名包含!or的名称^REN命令仅ECHO编辑。删除ECHO之前的关键字REN以实际重命名。

于 2013-07-19T17:57:52.540 回答
1

在 VBScript 中:

Set fso = CreateObject("Scripting.FileSystemObject")
For Each f In fso.GetFolder(".").Files
  f.Name = UCase(fso.GetBaseName(f)) & "." & fso.GetExtensionName(f) & "_"
  f.Name = Left(f.Name, Len(f.Name)-1)
Next

该文件必须首先重命名为临时名称,因为它FileSystemObject不区分大小写,否则会抱怨该文件已存在。

于 2013-07-19T17:07:57.300 回答