相关疑难解决方法(0)

使用.bat文件检查文件夹是否存在

我希望能够检查某个文件夹(FolderA)是否存在,如果存在,则显示一条消息,然后退出批处理文件.

如果FolderA不存在,我想检查是否存在另一个文件夹(FolderB).如果FolderB不存在,则应显示一条消息并创建该文件夹,如果FolderB存在,则应显示一条消息,说明如此.

有没有人对我可以在记事本上使用的代码有任何想法来创建批处理文件以允许我这样做?

所有这些都需要在一个.bat文件中完成.

windows batch-file

150
推荐指数
2
解决办法
30万
查看次数

如何测试文件是否是批处理脚本中的目录?

有没有办法找出文件是否是目录?

我在变量中有文件名.在Perl中,我可以这样做:

if(-d $var) { print "it's a directory\n" }
Run Code Online (Sandbox Code Playgroud)

windows command-line batch-file

67
推荐指数
6
解决办法
11万
查看次数

如何在批处理脚本中将Windows短名称路径转换为长名称

我正在编写Windows批处理脚本,我有一个参数或变量,其中包含使用短8.3名称的路径.路径可能表示文件或文件夹.

如何将8.3路径转换为长名称路径?至少我希望能够简单地打印出完整的长名称路径.但理想情况下,我想安全地将长名称路径转换为新变量.

例如,给定路径C:\PROGRA~1\AVASTS~1\avast\BROWSE~1.INI,我想返回C:\Program Files\AVAST Software\avast\BrowserCleanup.ini.

作为批处理爱好者,我最感兴趣的是只使用本机Windows命令的纯批处理解决方案.但是,混合使用PowerShell和JScript等其他本机脚本工具也是可以接受的.

注意: 我发布了自己的答案.我在网上搜索,并惊讶地发现这个主题很少.我开发了多种工作策略,并认为其他人可能会对我发现的内容感兴趣.

batch-file long-filenames short-filenames

11
推荐指数
1
解决办法
2921
查看次数

批处理参数%~s1给出了不正确的8.3短名称

我正在尝试在Windows XP中编写一个批处理文件,它接受一个完全限定的路径名​​并输出8.3短名称版本...

@echo off
echo "%~s1"
Run Code Online (Sandbox Code Playgroud)

我遇到过一个特殊情况,它输出的路径和文件不正确......

C:\>test.bat "C:\Documents and Settings\angus\Local Settings\Temporary Internet Files\Content.IE5\2JSTM34V\62[1].ja2"
"C:\DOCUME~1\angus\LOCALS~1\TEMPOR~1\Content.IE5\2JSTM34V\62_1_~1.JA2M34V\62[1].ja2"
Run Code Online (Sandbox Code Playgroud)

请注意,上述输出("C:\ DOCUME~1\angus\LOCALS~1\TEMPOR~1\Content.IE5\2JSTM34V\62_1_~1.JA2M34V\62 [1] .ja2")不存在.但是,如果从该输出中删除".JA2M34V\62 [1]"部分,则生成的字符串将是原始输入文件的有效路径.

这似乎是在文件名中使用括号([])的问题.如果我在同一目录中创建文件62.ja2,输出将是正确的...

C:\>test.bat "C:\Documents and Settings\angus\Local Settings\Temporary Internet Files\Content.IE5\2JSTM34V\62.ja2"
"C:\DOCUME~1\angus\LOCALS~1\TEMPOR~1\Content.IE5\2JSTM34V\62.ja2"
Run Code Online (Sandbox Code Playgroud)

这是Windows中的错误吗?有没有人知道是否有一个解决方法允许批处理文件正确处理此文件名?

windows parameters filenames batch-file short

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

检查目录或文件名的绝对路径是否有效

我正在创建一个bat脚本,我应该检查变量是否包含目录的有效绝对路径,以及另一个变量是否包含Windows 8及更高版本的文件的有效名称.

那么,我该如何进行这些检查呢?

谢谢

再见

validation filenames batch-file absolute-path

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