【发布时间】:2021-04-10 08:24:53
【问题描述】:
我使用Mofi 编写的batch script 将文件夹移动到其他文件夹中。
@echo off
setlocal EnableExtensions DisableDelayedExpansion
%SystemRoot%\System32\tree.com
for /F "eol=| delims=" %%I in ('dir /AD /B 2^>nul') do (
set "FolderName=%%I"
setlocal EnableDelayedExpansion
set "TargetFolder=!FolderName:~0,1!"
if not "!TargetFolder!" == "!FolderName!" (
md "!TargetFolder!" 2>nul
move /-Y "!FolderName!" "!TargetFolder!\"
)
endlocal
)
%SystemRoot%\System32\tree.com
endlocal
它将当前文件夹中具有两个或多个字符的文件夹移动到名称为文件夹的第一个字符的子文件夹中,如果目标文件夹不存在,则会自动创建目标文件夹。
但如果文件夹名称包含一个或多个 Unicode 字符,批处理脚本将不起作用。
是否有使用 PowerShell 的解决方法?
例如,它不会将第一个字符为 Ш(西里尔大写字母 SHA)的文件夹移动到名称为 Ш 的文件夹中。
【问题讨论】:
标签: powershell