当我的 PowerShell 脚本运行时,它会提示用户输入密码参数。该密码可以包含任意数量的特殊字符,如 *\~;(%?.:@/ 然后该密码用作 .exe 命令的参数,但由于某些特殊字符没有正确转义,它通常不正确。
一个过去的密码示例是 $(?-.?-(。我需要转义的唯一字符是 '(',我将其替换为 '`(' 以使其工作。但是,该密码现在已过期。新密码类似于 *\~;~(%?.:@/ *注意:这些密码也混合了随机数字和字母,但已被编辑。
新密码中的唯一字符不是第一个是 *\~;%:@/ 是否有一种简单的方法可以转义所有字符并按原样接受任何用户输入?如果没有,有人介意帮我逃脱这些特殊字符吗?
param (
[Parameter(Mandatory=$true)][string]$password
)
Run Code Online (Sandbox Code Playgroud)
上面的代码位于脚本的前面,使控制台提示用户输入。
Invoke-Expression -Command "<path_to_exe> -install $user $password"
Run Code Online (Sandbox Code Playgroud)
^这是使用该密码参数的命令
我在 Stack Overflow、Reddit 和其他各种编码论坛/博客上尝试了许多其他建议,但都没有奏效。任何帮助深表感谢!
我希望导航到一个目录并在 cmd 窗口中显示其中每个文件的所有内容.txt。
我做了这么多:
type abc.txt.txt目录中可能有10个甚至20个文件。
有什么办法可以做到吗?
我正在尝试阅读来自Kafka的消息,因此我编写了简单的消费者来阅读来自Kafka的消息.
While True:
message = consumer.poll(timeout=1.0)
# i am doing something with messages
Run Code Online (Sandbox Code Playgroud)
在上面的代码输出消息类型是消息对象.我如何获得一组消息?
有可能吗?
注意:基本的消费者配置不多.
我正在尝试从多个目录中的多个文件名中删除一个字符串。这是与创建的一些文件一样的文件,以便我可以检查实际设置的值。
当我到达rename最底部时,我收到一个错误:
命令的语法不正确。
我没有看到创建的文件_intf和文本文件有任何问题。_fnlf在重命名中使用变量作为文件路径是否有一些技巧?
@ECHO off
echo Delete dir.txt?
PAUSE
del dir.txt
del item.txt
del file.txt
::paths for all directories in root (where filerename.bat is run)
::get root dir path
SET "_c=%CD%"
SET /A "counter=0"
::get dir list and concats root dir path before
FOR /F "tokens=*" %%A in ('DIR /on /b /a:d /p %svnLOCAL%') DO (
SET "_dirp=%_c%\%%A"
CALL :sub1
SET /A "_counter+=1"
)
::finds each file in dir
:sub1
::make file to …Run Code Online (Sandbox Code Playgroud) 如果我想创建 10 个.txt名称为 pattern 的空文件abcd01.txt,abcd02.txt ,... , abcd10.txt. 如何在 CMD/PowerShell 中实现这一点?
这是我为实现的目标所做的:
for($i = 0; $i -lt 11; $i++){ New-Item -Path "C:\Users\FOO\Desktop\FOOBAR\abcd",$i,".txt" -ItemType File }
Run Code Online (Sandbox Code Playgroud)
这创建了没有任何文件扩展名的文件。0, 1,2 ,... , 10.
然后我重命名了所有文件:
Dir -filter * | %{Rename-Item $_ -NewName ("abcd{0}.cpp" -f $nr++)}
Run Code Online (Sandbox Code Playgroud)
是否有一行命令可以制作'n'具有特定'.xyz'扩展名的空文件?
我发现了一个类似的函数:
function New-ActiveDirectoryForest {
param(
[Parameter(Mandatory)]
[string]$Name,
[Parameter(Mandatory)]
[pscredential]$Credential,
[Parameter(Mandatory)]
[string]$SafeModePassword,
[Parameter(Mandatory)]
[string]$ComputerName
)
Invoke-Command -ComputerName $ComputerName -Credential $Credential -ScriptBlock {
Install-windowsfeature -Name AD-Domain-Services
$forestParams = @{
DomainName = $using:Name
InstallDns = $true
Confirm = $false
SafeModeAdministratorPassword = (ConvertTo-SecureString -AsPlainText -String $using:SafeModePassword -Force)
WarningAction = 'Ignore'
}
$null = Install-ADDSForest @forestParams
}
}
Run Code Online (Sandbox Code Playgroud)
$using:Name或$using:SafeModePassword代表什么?
感谢您的帮助。
1.嵌套时如何使循环处理更快.从(a)到(zzzzz)处理1个字符需要30秒
2.如何使此代码能够设置范围,如开始2位数并以4位数结束.
3.为什么这段代码显示编码命令,这就是为什么我从命令中输入character @ at
Sample.bat
@echo off
setlocal EnableDelayedExpansion
set "loop2=IN (0,1,36) DO @("
set "n0="
set "n1=a"
set "n2=b"
set "n3=c"
set "n4=d"
set "n5=e"
set "n6=f"
set "n7=g"
set "n8=h"
set "n9=i"
set "n10=j"
set "n11=k"
set "n12=l"
set "n13=m"
set "n14=n"
set "n15=o"
set "n16=p"
set "n17=q"
set "n18=r"
set "n19=s"
set "n20=t"
set "n21=u"
set "n22=v"
set "n23=w"
set "n24=x"
set "n25=y"
set "n26=z"
set "n27=1"
set "n28=2"
set "n29=3"
set "n30=4"
set "n31=5"
set …Run Code Online (Sandbox Code Playgroud) 我要安装Symfony 4.0.6 版本!我写的时候在 cmd 中使用 Composer
composer create-project Symfony/framework-standard-edition Stage_App "4.0.*"
Run Code Online (Sandbox Code Playgroud)
也试过
composer create-project Symfony/skeleton Stage_App "4.0.*"
Run Code Online (Sandbox Code Playgroud)
并且都安装 Symfony 5.0.2
注意:我不想使用最新版本!我只想使用 4.0.6
我怎样才能安装那个版本?
如何删除意外创建的名称为“Call”的零字节文件?
我正面临这个问题,直到现在我才弄明白?
我尝试使用命令Del但没有机会。
@echo off
set "targetdir=C:\FolderDir"
for /f "delims=" %%a in ('dir/s/b/a-d "%targetdir%\*.*"') do ( if %%~Za equ 0 echo %%~na>>results.txt && del "%%~a" )
Run Code Online (Sandbox Code Playgroud)
我还尝试删除包含此文件“Call”的目录
RD /S /Q [ParentFolder with file Call Inside]
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用 Powershell:
Get-ChildItem -Path "C:\MyFolderDir" -Recurse -Force | Where-Object { $_.PSIsContainer -eq $false -and $_.Length -eq 0 } | remove-item
Run Code Online (Sandbox Code Playgroud)
编辑 :
我在他的评论中执行@Compo 在下面提供的这个命令:
%SystemRoot%\System32\where.exe /T /F "C:\FolderDir":"*call*"
Run Code Online (Sandbox Code Playgroud)
我得到了这样的结果:
? ? ? "C:\Users\Hackoo\Desktop\Scripting\Call "
Run Code Online (Sandbox Code Playgroud) 我有一个循环的批处理脚本,我想计算它完成了多少个循环。
这是脚本的外观:
@echo off
title MyTitle
set cycles=0
:startpoint
echo %cycles%
(my command)
goto startpoint
Run Code Online (Sandbox Code Playgroud)
我希望1每次返回时都能看到变量“周期”的增量,:startpoint我该怎么做?
batch-file ×4
cmd ×4
powershell ×4
apache-kafka ×1
command-line ×1
composer-php ×1
escaping ×1
file-rename ×1
loops ×1
parameters ×1
python ×1
symfony ×1
variables ×1
version ×1
wamp ×1
windows ×1