我在一个文件夹中有大约600个文件,我需要将其从小写转换为大写。我无法在我的机器上安装任何应用程序,因为我们的IT不允许它,因此,我要么必须在PowerShell,CMD或者VB中进行。
示例文件:
dog_123.csv需要转换为DOG_123.csv
提前致谢。
答案 0 :(得分:6)
在PowerShell中:
Get-ChildItem | Rename-Item -NewName { $_.Basename.ToUpper() + $_.Extension }
或更短:
ls | ren -n { $_.Basename.ToUpper() + $_.Extension }
答案 1 :(得分: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
注意:不会重命名包含!
或^
的名称。 REN
命令只是ECHO
ed。在ECHO
之前删除REN
关键字以实际重命名。
答案 2 :(得分: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
不区分大小写,否则会抱怨该文件已存在。