Reputation: 87
I want to be able to run a following PowerShell command through AutoHotKey script:
new-item -path c:\ -name logfiles -itemtype directory
I am unable to find a way to achieve this task. Please help.
Upvotes: 6
Views: 13051
Reputation: 1
For PowerShell 7
Run pwsh.exe -NoExit -Command &{new-item -path c:\ -name logfiles -itemtype directory}
For Windows PowerShell
Run PowerShell.exe -NoExit -Command &{new-item -path c:\ -name logfiles -itemtype directory}
-NoExit to keep the terminal open other you may omit that part.
I personally used this method to ssh into a linux machine since none of the above worked for me (maybe I'm stupid) but here's my script.
#+t::
Run pwsh.exe -NoExit -Command &{ssh -p <Enter Port Number> <Username>@<IP Address>}
return
Win + Shift + T to launch
Upvotes: 0
Reputation: 624
If you want to run a PowerShell script from ahk and it contains several lines and you don't want to use an external file, this is an example how do it:
AutoHotkey code:
psScript =
(
param($param1, $param2)
new-item -path $param1 -name logfiles -itemtype directory
new-item -path $param2 -name logfiles -itemtype directory
remove-item -path 'c:\temp'
# etc, write any code, use this quotes for strings: '
# if you need ", then write: \":
$import = '[DllImport(\"ntdll.dll\")] public static extern int RtlAdjustPrivilege(ulong a, bool b, bool c, ref bool d);'
)
param1 = C:\temp
param2 = D:\temp
RunWait PowerShell.exe -Command &{%psScript%} '%param1%' '%param2%',, hide
; use this call if you want to see powershell output
Run PowerShell.exe -NoExit -Command &{%psScript%} '%param1%' '%param2%'
Upvotes: 11
Reputation: 2672
Try:
Run, PowerShell "new-item -path c:\ -name logfiles -itemtype"
Seemed to work for me.
Edit based on newly provided information:
Command found @ http://exchangeserverpro.com/install-exchange-2013-pre-requisites-windows-server-2012/
Try:
Run, PowerShell "Install-WindowsFeature AS-HTTP-Activation
, Desktop-Experience
, NET-Framework-45-Features
, RPC-over-HTTP-proxy
, RSAT-Clustering
, Web-Mgmt-Console
, WAS-Process-Model
, Web-Asp-Net45
, Web-Basic-Auth
, Web-Client-Auth
, Web-Digest-Auth
, Web-Dir-Browsing
, Web-Dyn-Compression
, Web-Http-Errors
, Web-Http-Logging
, Web-Http-Redirect
, Web-Http-Tracing
, Web-ISAPI-Ext
, Web-ISAPI-Filter
, Web-Lgcy-Mgmt-Console
, Web-Metabase
, Web-Mgmt-Console
, Web-Mgmt-Service
, Web-Net-Ext45
, Web-Request-Monitor
, Web-Server
, Web-Stat-Compression
, Web-Static-Content
, Web-Windows-Auth
, Web-WMI
, Windows-Identity-Foundation"
Upvotes: 2
Reputation: 15488
PowerShell isn't necessary to solve this particular problem.
AutoHotKey has built-in functionality for creating directories: FileCreateDir
For example:
FileCreateDir, C:\logfiles
Upvotes: 0