Windows PowerShell(およびCMDおよびbash)ではpushd
、最後に私がいたディレクトリにコピーしてからコピーするのが良いでしょう。例:
> pwd
Path
----
D:\Some insanely long\path I really\ don/'t want to type\because it's hard\vimstuff\
> pushd ..\..\..\..\thing that\lives in the swamp
> cp *.pu $popd
$ popdは最後にプッシュされるディレクトリです。この機能はありますか、それともスクリプトを書く必要がありますか?
編集:誰もが解決策に近づくための有用なヒントに答えているように見えますが、まだそこにはありません。PowerShellでは不可能な場合があります。私はcmd用に書いたがpowershellでは動作しない次のようなものを探していました:
CPP.BAT:
echo off
if "%olddirp%"=="" (
echo olddirp not defined, use cdp to push directory before using cpp
) else (
for %%A in ("" "help" "-help" "/help" "-h" "/h") do (
if "%1"==%%A goto help
)
)
copy %1 %olddirp%
echo .\%1 copied to %olddirp%\%1
goto end
:help
echo "cdp / cpp usage: cdp to directory 'cpp c:\newdir' then cpp files to previous directory 'cpp somefile'"
:end
CDP.BAT:
set olddirp=%cd%
cd %1
それらは簡単に翻訳できますか?どうやらpowershellには単純な変数がない%cd%
か、%path%
または他の単純な変数がないため、問題がありました。
cp *.pu (get-location -stack).peek()