我被允许维护一些批处理文件,我在每个批处理文件的开头重复看到这一行.
FOR /f "usebackq tokens=*" %%a IN ('%0') DO SET this_cmds_dir=%%~dpa
CD /d "%this_cmds_dir%"
Run Code Online (Sandbox Code Playgroud)
有谁知道第一行是做什么的?什么是%% ~dpa?什么是%0?什么是usebackq?
我想知道是否有一种方法可以在运行某个命令后最小化批处理窗口。我已经知道启动/ min和最小化启动窗口的技巧,但是在运行循环或超时时该怎么办?
比方说:
echo Hello!
timeout /t 100
:COMMAND TO MINIMIZE WINDOW WHILE TIMEOUT IS RUNNING
Run Code Online (Sandbox Code Playgroud)
现在,我在bat文件中调用一个autoit脚本,以在命令运行时隐藏窗口:
WinSetState($application_name, "", @SW_HIDE)
Run Code Online (Sandbox Code Playgroud)
但我正在寻找可以直接在.bat文件中编码的纯批处理/ powershell / vbs解决方案。
感谢您的时间!
我想在我的代码中使用批处理命令将文件复制到目标.
szCommand.Format(_T("copy \"%s\" \"%s\""), szOrg, szTargetFile);
_wsystem(szCommand);
Run Code Online (Sandbox Code Playgroud)
但是,每次调用_wsystem时,都会提示一个控制台窗口,这非常不愉快.
有没有办法调用_wsystem而不显示控制台窗口?还是其他任何选择?