有人可以解释我的陈述有什么问题吗?我正在尝试将其作为bat文件运行.我在网上查看了各种示例,我似乎无法弄清楚为什么会出现语法错误
FOR /F "tokens=*" %%A in (c:\scripts\destination.txt) DO
(
echo inside the for loop
pause
)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
该命令的语法不正确.C:\ Scripts> FOR/F"tokens =*"%A in(c:\ scripts\destination.txt)DO
我试图制作一个批处理文件,将所有新文件和文件夹从源文件夹复制到网络目录.应复制(备份)所有新子目录和新文件.
我的代码:
xcopy "C:\Source" "T:\Backup" /d/i/s/q
(/d仅适用于新文件,/i因为source是dir,/s对于所有子目录和文件,/q只是为了压缩复制文本)
源包含子目录和文件(.txt).
第一次运行它复制一切应该.当我将一个新的.txt文件添加到其中一个现有子目录并再次运行时,我收到消息:
"正在创建文件目录不为空时发生错误.无法创建文件夹"T:\ Backup".复制了0个文件.(翻译自瑞典语,因此不是100%原创)
问题是我尝试将此命令发送到本地源,例如"C:\ test",并执行相同的过程.
任何能够理解为什么这对网络驱动器不起作用的人?我应该尝试另一个命令,如robocopy?
我有一千个zip压缩文件,所有压缩文件都包含我要删除的文件。我可以从命令行中一次将7Zip删除一个文件:
7z d -r archive.zip *.pdf
Run Code Online (Sandbox Code Playgroud)
但是我如何将其应用于所有文件,这些文件本身又分组在子目录中?
我正在尝试使用wmic sart一个VLC实例我这样做主要是因为我想捕获创建过程的pid
我知道下面的命令在命令行中工作正常:
C:\PROGRA~1\VideoLAN\VLC_117\vlc.exe rtsp://abcd --sout="#duplicate{dst=display, dst={std{access=file, mux=ps, dst='vlc_117/video.mpg'}}} --rtsp-caching=120 --no-video-title-show"
Run Code Online (Sandbox Code Playgroud)
(其中rtsp:// abcd可以是用于此示例的任何输入文件)
试图通过wmic运行它,以各种不同的尝试作为转义序列(其中下面是一个):
wmic process create 'C:\PROGRA~1\VideoLAN\VLC_117\vlc.exe rtsp://abcd --sout="#duplicate{dst=display, dst={std{access=file, mux=ps, dst='vlc_117/video.mpg'}}} --rtsp-caching=120 --no-video-title-show" '
Run Code Online (Sandbox Code Playgroud)
可靠地给了我同样的错误:
Invalid format.
Hint: <assignlist> = <propertyname>=<propertyvalue> [, <assignlist>].
Run Code Online (Sandbox Code Playgroud)
但是以下内容:
wmic process create 'C:\PROGRA~1\VideoLAN\VLC_117\vlc.exe rtsp://abcd --sout="#duplicate{dst=display} --rtsp-caching=120 --no-video-title-show"'
Run Code Online (Sandbox Code Playgroud)
工作正常 - 除了作为命令它对我没用.所以问题似乎是我原始命令的嵌套卷曲括号部分.
我尝试了各种不同的逃脱角色......到目前为止还没有成功.任何人都可以建议我哪里出错了?
正如标题所说,我需要从文本文件中执行 cmd 命令。假设我调用了文本文件file并在其中写入了它Color A。我需要类似 command: 的东西type file.txt,而不仅仅是将它写在屏幕上,但我希望它同时按下 Enter 键。也欢迎批处理文件选项。谢谢。
我必须运行n查询SQL以更新更多数据库.我创建了一个批处理文件来帮助我完成此活动,但查询不是按名称排序执行的.
我使用这个批处理命令:
for %%I in (.\*.sql) DO sqlcmd -S .\istance -U username -P password -d dbname -i %%I -o .\%%I.log
Run Code Online (Sandbox Code Playgroud)
如何运行按名称排序的所有查询?
感谢您的回答.
注意:我使用的是Windows 7.
如何确定Buffer的大小,同时使用Buffered Input Stream读取批量文件?它是基于文件大小吗?我正在使用,
byte[] buf = new byte[4096];
Run Code Online (Sandbox Code Playgroud)
如果我增加缓冲区大小,它会快速读取?
我有一个针对我的应用程序的MSI安装程序,它将一些内容写入路径环境变量,但是在Windows重新启动或手动进入环境变量并单击"确定"之前,它不会在Windows中"刷新".
我的客户要求我们解决这个问题.
安装程序有限,但我可以选择在安装完成后运行批处理文件或VBScript.
有人知道我可以使用命令或功能吗?
我们有一个命令行实用程序,可以在服务器上打开 MS Office 文档并将它们转换为 PDF。对于其中包含宏的 Office 文档,将弹出安全警告消息,并且在有人启用宏之前,该实用程序不会继续完成工作。
例如,Visio 文件的警告消息对话框的标题为“Microsoft Visio 安全通知”。我们需要点击启用按钮。
此标题显示在 Windows 任务管理器的应用程序窗格中,但不在进程列表中。
我想编写一个实用程序来在发生这种情况时通知我。
您能否让我知道可以使用哪些批处理或 PowerShell 命令根据名称读取/搜索任务列表(即,获取 Windows 任务管理器的应用程序窗格中显示的所有应用程序名称)。
我试过 tasklist 和 get-process。它们提供有关进程的信息,但不提供应用程序窗口标题的详细信息。
请您分享一种获取应用程序窗口名称列表的方法或一种检查是否有通过脚本打开的安全警告的方法。
为什么这样的行为呢?
test2color.pl 包含:
#! perl -slw
use strict;
use Win32::Console::ANSI;
use Term::ANSIColor qw(:constants);
print BLACK, ON_WHITE, "black on white\n";
print WHITE, ON_BLACK, "white on black\n";
print GREEN, ON_CYAN, BLINK, "garish!\n";
print RESET;
Run Code Online (Sandbox Code Playgroud)
输出:

batch-file ×6
cmd ×2
for-loop ×2
windows ×2
7zip ×1
ansi-colors ×1
buffer ×1
java ×1
ms-office ×1
perl ×1
perl-module ×1
powershell ×1
size ×1
sqlcmd ×1
taskmanager ×1
vbscript ×1
win32ole ×1
wmic ×1
xcopy ×1