对不起,我是这个东西的新手。我想以特定顺序运行具有不同参数的相同 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不被识别。
非常感谢您的帮助!
我有一个批处理文件,它使用以下命令生成一个带有修改路径的 shell:
cmd /K set PATH=%PATH%;<additional path locations>
Run Code Online (Sandbox Code Playgroud)
我还想为生成的 shell 设置额外的环境变量。有没有办法做到这一点?
我四处寻找,找不到任何人的直接答案。
如果我想将 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 的自解压存档。想不通这个
默认情况下,我希望在运行批处理文件或“在此处打开命令窗口”等时启动 PowerShell 而不是命令。
有什么建议?
我有一些等待文件的批处理脚本。等待循环是通过典型的 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。
不知道有没有这样的工具?
我想创建一个批处理脚本,该脚本将为多个 WSDL运行轴 wsdl2java.bat。当我仅使用此代码创建批处理脚本时:
wsdl2java.bat
wsdl2java.bat
Run Code Online (Sandbox Code Playgroud)
它只会运行 wsdl2java.bat 一次。我猜wsdl2java.bat 批处理脚本本身有一些东西。
有人可以帮我弄清楚问题的根本原因是什么吗?
我编写了一个简单的批处理文件来使用RASDIAL连接到特定的 VPN 连接
rasdial MyVPNConnection
Run Code Online (Sandbox Code Playgroud)
但它总是返回错误
691 访问被拒绝,因为域中的用户名和/或密码无效。
然后我尝试指向我的远程访问电话簿(Rasphone.pbk),看看会发生什么
rasdial MyVPNConnection /phonebook:%userprofile%\AppData\Roaming\Microsoft\Network\Connections\Pbk\rasphone.pbk
Run Code Online (Sandbox Code Playgroud)
仍然有错误 691。
然后我取消选中以下内容

但是在执行我的批处理文件时仍然报告了同样的问题。
我想使用以下内容将一些 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)
我错过了什么?
我正在尝试为要发布源代码的 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) 我正在尝试返回一个文本文件,其中包含有关文件夹及其子文件夹中图像文件的一些详细信息。具体来说:
这些属性可能并非对每个图像都可用 - 我不确定这是否会成为问题。
获取文件列表很好;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 中返回图像文件(或文件列表)的属性。如果没有,我愿意接受任何不需要安装额外软件的东西。有什么建议?
batch-file ×10
command-line ×8
windows ×4
windows-7 ×2
7-zip ×1
batch ×1
powershell ×1
vpn ×1
windows-10 ×1
xcopy ×1
zip ×1