小编Par*_*dox的帖子

Forfiles批处理脚本(转义@字符)

我正在研究一个批处理脚本,它允许我使用forfiles删除早于设定期间的文件.目前,我的目标是打印将被删除的文件.

我正在使用的forfiles调用从cmd.exe shell中完美运行,但是只要我将它嵌入到批处理脚本中,就会barfs.我怀疑这是因为@字符未被正确转义,但我不确定.

我正在运行的命令是:

forfiles /S /P "r:\" /m *.bak /d -10 /c "cmd /c echo @PATH"
Run Code Online (Sandbox Code Playgroud)

并导致以下错误:

ERROR: Invalid argument/option - '@PATH'
Type "FORFILES /?" for usage.
Run Code Online (Sandbox Code Playgroud)

我已经搜索了整个地方并尝试了一些不同的方案来转义@PATH组件.从@@ PATH\"@ PATH \"的所有内容都没有结果.

任何帮助,将不胜感激!

我还应该注意到,我从这里开始了很多关于forfiles的知识.

batch-file forfiles

18
推荐指数
3
解决办法
6万
查看次数

使用os.pipe和os.fork()问题的Python程序

我最近需要编写一个执行os.fork()的脚本来分成两个进程.子进程成为服务器进程,并使用os.pipe()创建的管道将数据传递回父进程.孩子关闭'r'管道的末端,父母'w'像往常一样关闭管道的末端.我将使用os.fdopen将pipe()的返回值转换为文件对象.

我遇到的问题是:流程成功分叉,孩子成为服务器.一切都很好,孩子尽职尽责地将数据写入'w'管道的开放端.不幸的是,管道的父端做了两件奇怪的事情:
A)它阻塞了管道末端的read()操作'r'.
其次,除非'w'结束完全关闭,否则它无法读取放在管道上的任何数据.

我立即认为缓冲是问题,并添加了pipe.flush()调用,但这些没有帮助.

任何人都可以解释为什么数据在写入结束完全关闭之前不会出现?是否存在使read()呼叫无阻塞的策略?

这是我的第一个分叉或使用管道的Python程序,如果我犯了一个简单的错误,请原谅我.

python fork pipe

10
推荐指数
3
解决办法
1万
查看次数

标签 统计

batch-file ×1

forfiles ×1

fork ×1

pipe ×1

python ×1