相关疑难解决方法(0)

使用BATCH脚本检查目录中是否存在任何类型的文件

您好我正在寻找一个批处理文件来检查给定文件夹中是否有任何类型的文件.

到目前为止,我已尝试过以下内容

if EXIST FOLDERNAME\\*.* ( echo Files Exist ) ELSE ( echo "Empty" ) 
Run Code Online (Sandbox Code Playgroud)

如果我知道文件扩展名,如下面的txt文件,我可以让它工作

if EXIST FOLDERNAME\\*.txt ( echo Files Exist ) ELSE ( echo "Empty" )
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助

directory file batch-file

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

Windows中的文件重定向和%errorlevel%

假设我们想要使用以下命令在Windows中创建一个空文件:

type nul > C:\does\not\exist\file.txt
Run Code Online (Sandbox Code Playgroud)

目录不存在,所以我们得到错误:

The system cannot find the path specified
Run Code Online (Sandbox Code Playgroud)

如果你打印%errorlevel%输出是:

echo %errorlevel%
0
Run Code Online (Sandbox Code Playgroud)

但命令没有成功!

我注意到,%errorlevel%如果你使用重定向,窗口不会设置最后一个命令.

有没有解决的办法?

windows error-handling batch-file io-redirection

21
推荐指数
1
解决办法
6285
查看次数

检测文件是否在批处理文件中打开

假设我有一个用于执行长版本的批处理文件,最后它创建了一个EXE.如果我在开始构建之前忘记关闭应用程序,则链接阶段会在无法重新创建EXE时失败.

我想检查EXE是否在构建开始时打开.我尝试将EXE文件重命名为自身,但是虽然这给出了拒绝访问错误,但重命名命令(作为内部命令)不会设置%ErrorLevel%.

检查将%ErrorLevel%设置为非零值的打开文件的非破坏性方法是什么?

windows cmd rename batch-file errorlevel

7
推荐指数
1
解决办法
7647
查看次数

检查目录在BAT脚本中是否可写的最佳方法是什么?

如何检查执行用户是否可以从批处理脚本写入目录?

这是我到目前为止所尝试的:

> cd "%PROGRAMFILES%"

> echo. > foo
Access is denied.
> echo %ERRORLEVEL%
0
Run Code Online (Sandbox Code Playgroud)

好的,那怎么样......

> copy NUL > foo
Access is denied.
> echo %ERRORLEVEL%
0
Run Code Online (Sandbox Code Playgroud)

不是吗?那怎么样......

> copy foo bar
Access is denied.
        0 file(s) copied.
> echo %ERRORLEVEL%
1
Run Code Online (Sandbox Code Playgroud)

这有效,但如果文件不存在则会中断.

我已经阅读了一些关于内部命令但没有设置ERRORLEVEL的内容,但copy显然在最后一种情况下这样做了.

windows permissions batch-file

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

你如何在Windows下共享日志文件?

我有几个不同的进程,我希望他们都登录到同一个文件.这些进程在Windows 7系统上运行.一些是python脚本,另一些是cmd批处理文件.

在Unix下,你只需让所有人以附加模式打开文件并写下来.只要每个进程PIPE_BUF在单个消息中写入少于字节,每个write调用将保证不与任何其他消息交错.

有没有办法在Windows下实现这一目标?天真的类Unix方法失败了,因为Windows不喜欢默认情况下一次打开文件的多个进程.

python windows logging locking batch-file

7
推荐指数
1
解决办法
3099
查看次数

6
推荐指数
1
解决办法
3691
查看次数