gpt4 book ai didi

windows - 在 Windows 批处理文件中执行时脚本挂起

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

您好,我有一个批处理文件,用于将文本文件从一个目录移动到另一个目录。问题是,当存在大于 7 MB 的文本文件时,脚本会挂起并卡住进程,这会导致手动强制批处理结束。

为什么这个 bat 在移动大于 7mb 的文件时会挂起?。我怎样才能解决这个问题,让它移动任何大小的文本文件?

预先感谢您的帮助。

附言。使用 TYPE 是因为原始文件是 ANSI/UNIX 格式,我们发现将其转换为 ANSI/PC 的唯一方法是使用 TYPE。

cd /d  "c:\users\you\"
for %%i in (*.txt) do (
echo processing %%i
TYPE "%%i" | MORE /P > "c:\temp\%%i"
del "%%i"
)

最佳答案

more 命令的目的是一次只显示一页文本。当输出设备不是控制台时,有效页面长度很长但不是无限的——它仍然会在写入 65534 行后暂停。

相反,试试这个:

(for /F "delims=" %%L in (%%i) do @echo %%L) > "c:\temp\%%i"

命令行分解:

for/F - 读取文件内容

"delims=" - 不要将空格或制表符视为分隔符

%%L - 变量(与原始脚本中 for 命令中的 %%i 相同)

%%i - 要读取的文件

@echo - 将变量写入标准输出

( ) > file.txt - 将标准输出重定向到目标文件

关于windows - 在 Windows 批处理文件中执行时脚本挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32240548/

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