Trong Windows PowerShell (và CMD và bash), thật tuyệt pushd
và sau đó sao chép vào thư mục cuối cùng tôi đã ở. Ví dụ:
> 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
trong đó $ popd sẽ là thư mục cuối cùng được đẩy. Liệu chức năng này có tồn tại hay tôi sẽ cần phải viết một kịch bản?
Chỉnh sửa: Có vẻ như tất cả mọi người đang trả lời các lời khuyên hữu ích để đến gần hơn với giải pháp nhưng chưa hoàn toàn ở đó. Nó có thể không thể trong powershell. Tôi đã tìm kiếm một cái gì đó giống như sau mà tôi đã viết cho cmd nhưng không hoạt động trong 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
Những người có thể dễ dàng dịch? Tôi gặp rắc rối vì rõ ràng không có %cd%
hoặc có %path%
bất kỳ biến đơn giản nào khác trong powershell.
cp *.pu (get-location -stack).peek()