Home > Enterprise >  PowerShell using variables to create adb push command
PowerShell using variables to create adb push command

Time:10-10

I'm trying to import file names and paths from a csv file to create individual adb push commands to push files to an Android device with the following script.

adb push "$($c.DirectoryName)\$($c.Name) $targetPath"

Write-Host adb push "$($c.DirectoryName)\$($c.Name) $targetPath"

The output of Write-Host gives me adb push C:\temp\Files\test.jpg /sdcard which works as a command if I copy and paste into PowerShell but my script does not work.

What am I doing wrong?

Thanks

CodePudding user response:

It looks like you just got the quotation wrong. In general, only quote single argument string literals. If an argument is a single variable, then don't quote it because PowerShell already does the quoting, if necessary.

Try this:

adb push "$($c.DirectoryName)\$($c.Name)" $targetPath

Actually you could just use the Fullname property so you don't need any quoting at all:

adb push $c.Fullname $targetPath

In your original code you passed "$($c.DirectoryName)\$($c.Name) $targetPath" as a single argument, due to the quoting, although the string actually contains multiple arguments.

  • Related