我正在尝试制作一个程序,它将使用批处理脚本计算指定位置或当前位置中存在的所有文件夹的大小,并将其写入.csv文件
我在stackoverflow中关注了这个问题
How to list all folder with size via batch file
我的代码是
`@echo off
setlocal disabledelayedexpansion
set "folder=%~1"
Set "Value=0"
if not defined folder set "folder=%cd%"
(for /d %%a in ("%folder%\*") do (
set "size=0"
for /f "tokens=3,5" %%b in ('dir /-c /a /w /s /x "%%~fa\*" ^| findstr /b /c:" "')do if "%%~c"=="" set "size=%%~b"
setlocal enabledelayedexpansion
echo(%%~nxa , !size!
endlocal
))>>foldersize.csv
endlocal
exit /b`
当我运行代码时,我收到错误
目录名“dir_name”太长
我已经知道Windows路径名的最大长度是260个字符,这可能是造成此错误的原因。
有什么方法可以解决这个问题吗?
提前感谢每一个回复。
答案 0 :(得分:0)
我看到它工作的唯一方法,假设保存信息的物理服务器访问相同文件夹没有任何问题,就是将驱动器号映射到目录遍历开始的文件夹,删除路径长度中的计算机地址和共享名称。