gpt4 book ai didi

windows - 如何将工作目录中文件名超过30个字符的文件的文件名写入文本文件?

转载 作者:可可西里 更新时间:2023-11-01 11:42:59 26 4
gpt4 key购买 nike

我使用的批处理文件代码:

for /r %%f in (*) do (
echo %%~nf >>testy.txt
)
for /f "tokens=*" %%a in (testy.txt) do (
set _temp=%%a
for /f "tokens=30*" %%g in (_temp) do (
echo large=%%g>>length.txt
)
)

它应该创建 length.txt 在第 30 位及以上的字符,但它在应该创建 length.txt< 的第 3 个 for 循环中失败.

最佳答案

这可以通过以下批处理文件完成,非隐藏文件的文件名不包含感叹号。

@echo off
setlocal EnableExtensions EnableDelayedExpansion

(for %%I in (*) do (
set "FileName=%%~nI"
if not defined FileName set "FileName=%%~xI"
if not "!FileName:~30!" == "" echo %%~nxI
))>length.txt

rem Delete length.txt if being an empty file.
for %%I in (length.txt) do if %%~zI == 0 del length.txt
endlocal

下一个批处理文件速度较慢,但​​也会处理文件名中带有 ! 的非隐藏文件。

@echo off
setlocal EnableExtensions DisableDelayedExpansion

(for %%I in (*) do (
set "FileName=%%~nI"
if not defined FileName set "FileName=%%~xI"
setlocal EnableDelayedExpansion
if not "!FileName:~30!" == "" echo %%~nxI
endlocal
))>length.txt

rem Delete length.txt if being an empty file.
for %%I in (length.txt) do if %%~zI == 0 del length.txt
endlocal

这两个批处理文件处理文件名,如 .htaccess 作为文件名是 .htaccess 并且没有文件扩展名,而 Windows 命令处理器处理这样的文件文件名为空,文件扩展名为 .htaccess

要了解使用的命令及其工作原理,请打开命令提示符窗口,在其中执行以下命令,并仔细阅读为每个命令显示的所有帮助页面。

  • del/?
  • echo/?
  • endlocal/?
  • for/?
  • 如果/?
  • rem/?
  • 设置/?
  • setlocal/?

关于windows - 如何将工作目录中文件名超过30个字符的文件的文件名写入文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53379317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com