标签: batch-file

Windows 批处理文件如果其他用法

对不起,我是这个东西的新手。我想以特定顺序运行具有不同参数的相同 bat 文件。我写了一个非常简单的批处理文件:

@echo off

REM Note: to see all command line usage options, run bsearch_headless.bat without any arguments.

call behaviorsearch_headless.bat -p test_behaviorsearch.bsearch -o pippo

ECHO
IF EXIST pippo.finalBests.csv (call behaviorsearch_headless.bat -p test_behaviorsearch.bsearch -o topolino)
else goto :eof  

:eof
ECHO Simulatione End!
PAUSE
Run Code Online (Sandbox Code Playgroud)

它不起作用,因为else不被识别。

非常感谢您的帮助!

windows batch command-line batch-file

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

在通过 Windows 批处理脚本生成的 shell 中设置多个环境变量

我有一个批处理文件,它使用以下命令生成一个带有修改路径的 shell:

cmd /K set PATH=%PATH%;<additional path locations>
Run Code Online (Sandbox Code Playgroud)

我还想为生成的 shell 设置额外的环境变量。有没有办法做到这一点?

windows command-line batch-file

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

7-Zip 创建自解压存档的命令行参数是什么?

我四处寻找,找不到任何人的直接答案。

如果我想将 C:\Temp 的内容打包到一个名为 Temp.exe(7z 格式)的自解压文件中,我该如何在批处理文件中进行呢?

这不起作用:

"C:\Program Files\7-Zip\7z.exe" a -t7z -mx5 -sfx 7z.sfx directoryname archive.exe -mmt
Run Code Online (Sandbox Code Playgroud)

我从中得到的是一个名为 7z.sfx 的自解压存档。想不通这个

zip command-line batch-file 7-zip

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

我可以在 Windows 7 中将 PowerShell 设置为“默认”吗?

默认情况下,我希望在运行批处理文件或“在此处打开命令窗口”等时启动 PowerShell 而不是命令。

有什么建议?

windows-7 powershell batch-file

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

批量实时等待文件

我有一些等待文件的批处理脚本。等待循环是通过典型的 IF EXISTS 循环完成的:

:waitloop
IF EXISTS file.zip GOTO waitloopend
sleep.exe 60
goto waitloop
: waitloopend
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种更有效的等待文件的方式。类似于 waitfile.exe 命令,它会阻塞并等待文件出现。在内部,它应该使用FileSystemWatcher类以便能够在文件出现时立即退出。

在 Linux 中,我有自己的 Perl 脚本,它在内部使用 Inotify。

不知道有没有这样的工具?

windows command-line batch-file

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

为什么我的批处理脚本没有运行所有行?

我想创建一个批处理脚本,该脚本将为多个 WSDL运行轴 wsdl2java.bat。当我仅使用此代码创建批处理脚本时:

wsdl2java.bat
wsdl2java.bat
Run Code Online (Sandbox Code Playgroud)

它只会运行 wsdl2java.bat 一次。我猜wsdl2java.bat 批处理脚本本身有一些东西。

有人可以帮我弄清楚问题的根本原因是什么吗?

windows command-line batch-file

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

使用命令行连接到 VPN 导致错误 691

我编写了一个简单的批处理文件来使用RASDIAL连接到特定的 VPN 连接

rasdial MyVPNConnection 
Run Code Online (Sandbox Code Playgroud)

但它总是返回错误

691 访问被拒绝,因为域中的用户名和/或密码无效。

远程访问服务 (RAS) 错误代码列表

然后我尝试指向我的远程访问电话簿(Rasphone.pbk),看看会发生什么

rasdial MyVPNConnection /phonebook:%userprofile%\AppData\Roaming\Microsoft\Network\Connections\Pbk\rasphone.pbk
Run Code Online (Sandbox Code Playgroud)

仍然有错误 691。

然后我取消选中以下内容

VPN 选项选项卡

但是在执行我的批处理文件时仍然报告了同样的问题。

vpn command-line batch-file

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

如何在不显示 GUI 的情况下在 Windows 批处理中使用 VLC 命令行?

我想使用以下内容将一些 M4A 文件转换为 MP3。它工作正常,但它显示每个文件的 VLC GUI,并将“退出”显示为要转换的第二个文件。是否有“静默”模式,它在没有图形界面的情况下进行转换?还是我的语法有问题?

@echo off
for /f "delims=|" %%f in ('dir /b *.m4a') do (
  CALL "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" "%%f" --sout=#transcode{acodec=mp3,ab=128,vcodec=dummy}:std{access="file",mux=raw,dst="converted/%%"} vlc://quit
)
Run Code Online (Sandbox Code Playgroud)

更新:我根据答案 #1 进行了编辑

@echo off
for /f "delims=|" %%f in ('dir /b *.m4a') do (
  CALL "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" "%%f" --intf dummy --sout=#transcode{acodec=mp3,ab=128,vcodec=dummy}:std{access="file",mux=raw,dst=converted/"%%f"} vlc://quit
  move "%%f" trash/"%%f"
)
Run Code Online (Sandbox Code Playgroud)

它所做的是在处理每个文件时打开一个 DOS 命令窗口。我想要的是完全静音模式(如果可能的话)。我有另一个批处理文件,它做类似的事情(将 CD 文件翻录成 MP3),它似乎是这样工作的:

FOR /R D:\ %%G IN (*.cda) DO (
    "C:\Program Files (x86)\VideoLAN\VLC\vlc" -I http cdda:///D:/ --cdda-track=!y! :sout=#transcode{vcodec=none,acodec=%e%,ab=320,channels=2,samplerate=44100}:std{access="file",mux=raw,dst="%t%!PADDED!.%e%"} vlc://quit
)
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

vlc-media-player command-line batch-file

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

XCOPY 无法读取 /EXCLUDE 文件

我正在尝试为要发布源代码的 Unreal Tournament 2004 mod 编写构建脚本批处理文件。此脚本包含对带有 /EXCLUDE 参数的 XCOPY 调用,如下所示:

XCOPY "%ProjectFolder%*" "%BuildFolder%" /S /C /Y /EXCLUDE:"%ProjectFolder%Build\CopyExcludes.cfg"
Run Code Online (Sandbox Code Playgroud)

出于某种原因,该命令告诉我它无法读取 CopyExcludes.cfg 文件。我该如何解决?

在批处理文件中,%ProjectFolder% 是源文件的基本文件夹,包括尾部反斜杠。%BuildFolder% 是 UT2004 文件夹中编译器期望文件所在的子文件夹。我运行批处理文件ECHO ON以查看扩展变量:

C:\UT2004>XCOPY "C:\UT2004\EvenMatch\*" "C:\UT2004\EvenMatchV1" /S /C /Y /EXCLUD
E:"C:\UT2004\EvenMatch\Build\CopyExcludes.cfg"
Datei "C:\UT2004\EvenMatch\Build\CopyExcludes.cfg" kann nicht gelesen werden.

0 Datei(en) kopiert
Run Code Online (Sandbox Code Playgroud)

(不要管命令中明显的换行符,这只是 80 个字符后的 CMD 窗口硬换行文本。)

奇怪的是,我可以将命令放在type "%ProjectFolder%Build\CopyExcludes.cfg"XCOPY 命令之前和之后,它可以正确显示批处理文件中两个位置的文件内容:

C:\UT2004>type "C:\UT2004\EvenMatch\Build\CopyExcludes.cfg"
.svn
.bak
.git
.cfg
#
~

C:\UT2004>XCOPY "C:\UT2004\EvenMatch\*" "C:\UT2004\EvenMatchV1" /S /C /Y /EXCLUD
E:"C:\UT2004\EvenMatch\Build\CopyExcludes.cfg"
Datei "C:\UT2004\EvenMatch\Build\CopyExcludes.cfg" kann nicht gelesen werden.

0 Datei(en) kopiert …
Run Code Online (Sandbox Code Playgroud)

windows-7 environment-variables xcopy batch-file

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

命令行返回图像属性

我正在尝试返回一个文本文件,其中包含有关文件夹及其子文件夹中图像文件的一些详细信息。具体来说:

  • 文件路径
  • 图片扩展
  • 图片尺寸
  • 拍摄日期
  • 相机型号

这些属性可能并非对每个图像都可用 - 我不确定这是否会成为问题。

获取文件列表很好;DIR C:\[...]\FOLDER\*.* /S| (我认为)。这是我不确定的下一部分;我在其他操作系统上找到了信息,我也听说过WMIC建议。我尝试将其与单个文件的测试一起使用:

wmic datafile where Name="C:\[...]\IMG_5443.JPG" get Name,FileType > "C:\[...]\info.txt"
Run Code Online (Sandbox Code Playgroud)

但它返回Error: Invalid query所以我猜 WMIC 不适用于图像,或者至少某些参数需要更改。

我还注意到,当我输入wmic datafile get/?该维度时,未将其列为可用属性之一。这就是我所知道的故障排除方法。

那么有没有办法使用命令行在 Windows 中返回图像文件(或文件列表)的属性。如果没有,我愿意接受任何不需要安装额外软件的东西。有什么建议?

command-line batch-file windows-10

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